본문 바로가기

쓰기

랄까 어느새인가 개행처리가 아니라
텍스트 처리 필터가 되어있습니다만[......]

(CmdFilter는 텍스트와 텍스트 바깥을 구분하고, 이건 텍스트 내부를 처리하는 느낌?)

우선 입력 받을 내용은

MaxLine
MaxWord (MaxChar?)

개행 기호 문자열(또는 Hex)

그리고 함수 세트를 받고
다음과 같이 입력을 받습니다.
" " - 문자열
' ' - HexCode
* - 내부글자(글자 셈)
^ - 내부글자(글자 세지 않음)

또한 이함수를 받고, 이 녀석의 길이를 설정해 줍니다.

전에 논의했던 루비 태그는 이렇게 등록됩니다.
내용 : "{" ^ "/" * "}"
길이 : n+6
(n은 *의 길이입니다)

또 다른 예를 들면
내용 : "<b>" * "</b>"
길이 : n+7


단일 컨트롤 문자라면
내용 : "@x1"
길이 : 0
내용 : "⑤"
길이 : 2


부가 기능으로,
1. 반각 기호 처리 -> 2바이트로, 1바이트로
2. 띄어쓰기 처리 -> 띄어쓰기 함, 띄어쓰기 안함
3. 줄 채우기 -> 한, 안함
4. 개행 기호로 끝내기 -> 함, 안함

일단 옵션값으로 받은 내용은 여기까지 하고, 실제 처리 과정으로 들어가자면,

-전처리-

덧 - 함수의 시작부분을 발견하고 함수의 끝부분을 발견하면, 아까 입력받은 길이대로 길이를 추정합니다.

1. MaxWord를 기준으로 가득 찬 줄인지 가득 차지 않은 줄인지 확인합니다.
왜 이걸 구분하냐면,
가득 찼다면 그 문장이 아직 끝나지 않을 확률이 높기 때문이죠.
가득 차지 않았다면, 그 문장에 마침표 찍고 끝났을 확률이 높을거구요.

2. 가득 찼다면 그 줄의 개행기호를 날립니다.

-번역!-

-후처리-

1. MaxWord대로 글자를 잘라대기 시작합니다만, 개행 기호를 만난다면  당연히 엔터를 한것으로 간주하고 넘어갑니다.
이때 줄 채우기에 선택이 되어 있다면, 공백 기호로 남은 칸 수를 메꿉니다.

2. 이때, 함수 부분의 길이를 계산하고, 남은 줄 길이를 초과한다면, 그냥 엔터치고 그 다음줄에 넣습니다.
쪼갤까 생각해봤습니다만, 쪼개도 될놈이 있고 쪼개면 안될놈이 있을 것 같아 그냥[...]
또, 아예 함수 자체의 길이가 문장 길이보다 길어버린다면,
함수 내의 문자열을 문장 길이에 맞게 자른 후 넣어버립니다.

3. 줄수가 MaxLine이 될때까지 계속 자르고, 그 이후를 넘어가 버리면,
그 다음은 몽땅 날립니다.

-끝?-

대충 이렇게 되겠네요.
분류 :
Talk
조회 수 :
8149
등록일 :
2008.08.21
11:46:15
엮인글 :
https://arallab.hided.net/3729/8fd/trackback
게시글 주소 :
https://arallab.hided.net/board_devtalk/3729
List of Articles
번호 제목 글쓴이 조회 수 추천 수sort 날짜 최근 수정일
공지 Talk [필독] 테스트필터 사용시 주의사항 라파에 155439   2008-08-03 2008-12-16 00:03
309 Archive [플러그인] DumpText Hotfix 20080824 [4] file Hide_D 9957   2008-08-24 2009-01-06 01:05
 
308 OtherFiles 10MB 파일 여는데 걸리는 시간을 테스트해봤습니다. [4] file Hide_D 11922   2008-08-25 2009-01-06 01:05
 
307 Talk 토모요 애프터...... [2] file whoami 10576   2008-08-26 2009-01-06 02:04
 
306 Archive [플러그인, 소스] FixLine 테스트 버전 Archive(08.31 12:12 갱신) [1] file Hide_D 13429   2008-08-30 2009-01-18 20:11
 
305 Talk [질문]UTF 코드를 SHIFT-JIS와 KS코드로 변환 [4] 호기심맨 13984   2008-09-02 2008-09-16 23:09
안녕하세요... 요즘 Aral이란 프로그램 덕에 갑자기 컴퓨터가 좋아진 사람입니다. 다시한번 모든 개발자분께 감사하구요.. 저도 아주아주 미약한 실력이지만 .. 참여해 보려고 합니다. (Aral에 도움될 실질적 가능성 0.0001%) 제가 관심가지는 부분은 단순님이...  
304 Archive [플러그인, 소스] DenyWord 테스트 버전 20080907 file Hide_D 8757   2008-09-07 2009-01-06 01:01
 
303 Archive [플러그인, 소스] DenyWord 테스트 버전 20080907_2 file Hide_D 8802   2008-09-07 2009-01-06 01:01
 
302 Archive [플러그인, 소스] DenyWord 테스트 버전 20080908 file Hide_D 8530   2008-09-08 2009-01-06 01:01
 
301 Archive [플러그인, 소스] DenyWord 테스트 버전 20080910 [1] file Hide_D 10322   2008-09-10 2009-01-06 01:01
 
300 Archive [플러그인, 소스] ATCode 테스트 버전 20080911 [3] file whoami 9210   2008-09-11 2009-01-06 01:01
 
299 Talk DenyWord 변경한 내용입니다 Hide_D 9493   2008-09-11 2008-09-11 23:04
1. 일단 EXACT를 추가했습니다. 정보(옵션버튼), 플러그인초기화부분, DenyWord클래스의 초기화부분이 변경되었고 실제 처리부분에서는 먼저 처리를 해준 다음 if문 대신 루프의 n값을 0으로 고쳐 루프를 돌지 않도록 처리했습니다. 2. 1바이트인지 확인하는 ...  
298 Archive [플러그인, 소스] FixLine 테스트 버전 Archive2(09.14 12:49갱신) [1] file Hide_D 16618   2008-09-12 2009-01-06 01:57
 
297 Archive [플러그인, 소스] OriginalText 테스트버전 [4] file Hide_D 13990   2008-09-12 2009-04-22 11:10
 
296 Archive [플러그인, 소스] CustomScript 테스트 버전 Archive(09.21 02:50갱신) [1] file Hide_D 17632   2008-09-15 2009-01-06 01:57
 
295 Talk 하루카 원문 [1] 나는누구인감? 10337   2008-09-16 2008-09-17 01:00
원문  
294 Archive [플러그인, 소스] DenyWord 테스트 버전 20080917 file Hide_D 9665   2008-09-17 2009-01-06 01:25
 
293 Archive [플러그인, 소스] DenyWord 테스트 버전 20080921 file Hide_D 13927   2008-09-21 2009-01-06 01:25
 
292 Talk 히데님께 문의 해요! [2] file 라파에 11922   2008-09-21 2009-01-06 01:25
 
291 Talk 조만간 멀티플러그인은 기본 기능으로 흡수시킬까 합니다. 아랄 11346   2008-09-21 2009-01-06 01:25
그리고 ExtTextOut문제를 빨리 해결.. 기리기리 최신 패턴에 대한 업데이트 SVN 저장소 정리하기 등등.. 할게 많군여 ;;  
290 Talk 일단, 옵션창 이렇게 생기면 되나요? file Hide_D 11569   2008-09-22 2009-01-06 01:25