[1508]
RE: メモ
みく
>タイトル: メモ
>・禁則処理
【概要】
いわゆる禁則処理で次の2種類の禁則を別々にサポート
・行頭禁則
行頭にくるとまずい文字を指定し、この文字が行頭にくる場合はその文字を行末に
置きます。ただし、禁則する文字は1文字だけです。行頭禁則文字の代表例は以下の
とおりです。
K2例 、。,.・?!゛゜ヽヾゝゞ々ー)]}」』!),.:;?]}。」、・ー゛゜
Word例 !%),.:;?]}¢°’”‰′″℃、。々〉》」』】〕゛゜ゝゞ・ヽヾ!%),.:;?]}。」、・゛゜¢
Word例 !%),.:;?]}¢°’”‰′″℃、。々〉》」』】〕ぁぃぅぇぉっゃゅょゎ゛゜ゝゞァィゥェォッャュョヮヵヶ・ーヽヾ!%),.:;?]}。」、・ァィゥェォャュョッー゛゜¢
・行末禁則
行末にくるとまずい文字を指定し、この文字が行末にくる場合はその文字を行頭に
置きます。ただし、禁則する文字は1文字だけです。行末禁則文字の代表例は以下の
とおりです。
K2例 ([{「『([{「
Word例 $([\{£\‘“〈《「『【〔$([{「£¥
禁則処理の設定はタイプ別設定のスクリーンで行います。ここには元々英文ワード
ラップがあります。実は禁則処理は一種の日本語ワードラップと考えることができ
ます。ここで、それぞれの禁則処理をするかしないかをチェックボタンで指定し、
それぞれの禁則文字をエディットボックスで指定できるようにします。
禁則文字に指定できる文字数は100文字程度(200バイト)までとします。禁則文字に
は全角文字と半角文字のどちらでも指定できます。わかるとは思いますが、禁則文
字をたくさん登録すればそれだけ遅くなります。
【修正個所】
CLayoutMgr.cpp
メイン処理(DoLayout, DoLayout3_New)
bWordWrap のところで禁則処理を実装する。←これが問題だな。
CLayoutMgr.h
CShareData.h
BOOL m_bKinsokuHead
BOOL m_bKinsokuTail
char szKinsokuHead[200];
char szKinsokuTail[200];
CShareData.cpp
データのロードとセーブ、旧版との対応
CPropTypes.cpp
データの設定
ほか
bWordWrap を検索し、これと同様に bKinsokuHead, bKinsokuTail を追加する。