いくやさん

On Sat, 29 Apr 2017 18:38:34 +0900, AWASHIRO Ikuya <ik...@fruitsbasket.info> 
wrote:
> Writerを起動し[ツール]-[オプション]-[言語設定]-[日本語レイアウト]に[カーニング]があり、
> [英字のみ]と[半角英字と日本語の区切り記号]という選択肢があります。
> 
> 日本語の区切り記号とは通常「、,。」の3つくらいを指すのかなと思いますが、
> 
> 「『』、。」
> 
> と入力してこのオプションを変更しても、表示に変化がありません。
手元のLibreOffice 5.3.2で再現しました。

> ここでいう日本語の区切り文字とは一体何を指すのかご存じの方はいらっしゃいませんでしょうか。
> おそらくソースコードの中にこれが区切り文字だと書かれていると思うのですが……。
> あるいは文末に来たときだけに処理するというしょっぱい仕様だったりする気も若干するのですが……。
このオプションで「半角英字と日本語の区切り記号」を選択したときには、
GenericSalLayout::ApplyAsianLayout() [1]およびSalLayout::CalcAsianKerning() [2]
がカーニングを処理するようです。そこでは、
中黒(U+30FB)
および、Unicodeのブロック
General Punctuation [3]
CJK Symbols and Punctuation [4]
Halfwidth and Fullwidth Forms [5]
に含まれる文字の一部が「区切り記号」として扱われています。

> 
> ちなみにWord 2013で同じく
> 
> 「『』、。」
> 
> を入力するときちんとカーニングが機能しますし、[ファイル]-[オプション]-[文字体裁]の[カーニン
> グ]にある[半角英字のみ]と[半角英字と区切り記号]は正しく動作するようで、前者にするとWriter
> と同じ表示(すなわちカーニングなし)になりました。
Wordと同じ目的のオプションだと思うので、Writerの現在の振舞いはバグのようですね。
bugzillaに報告する価値あると思います。

[1] 
https://cgit.freedesktop.org/libreoffice/core/tree/vcl/source/gdi/sallayout.cxx#n826
[2] 
https://cgit.freedesktop.org/libreoffice/core/tree/vcl/source/gdi/sallayout.cxx#n610
[3] https://en.wikipedia.org/wiki/General_Punctuation
[4] https://en.wikipedia.org/wiki/CJK_Symbols_and_Punctuation
[5] https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms#In_Unicode

-- Takeshi Abe

-- 
Unsubscribe instructions: E-mail to discuss+unsubscr...@ja.libreoffice.org
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/ja/discuss/
All messages sent to this list will be publicly archived and cannot be deleted

メールによる返信