質問する
0

半角文字を入力すると直後の記号が小さく表示される

質問日 2016-12-27 08:31:28 +0200

portfo のGravatar画像

Libreoffice 5.1.6.2。 Writerにて、たとえば

+①

と入力すると、「①」が小さく表示されてしまいます。 カーソルを「①」のところにポイントすると、なぜかフォントが西洋諸言語用のものになっています。 他の記号でも試したところ、小さくなるものとそのまま表示されるものと色々あるようです。 対策はあるでしょうか。

edit retag flag offensive close merge delete

4 Answer

2

回答日 2017-05-22 19:30:02 +0200

himajin100000 のGravatar画像

updated 2017-05-23 08:25:13 +0200

おそらく仕様。現状対策はなし。 スタイルじゃなくて個別の文字の書式でフォントを西洋系と東洋系で同じもの を当てる、とかいう面倒くさい手順くらい?

再現手順
1. Writerを起動する。
2. 現象が発生しているのを確認しやすくするため、Default Styleの西洋系言語に適用されるフォントサイズを20pt, 東洋系言語については10.5ptとする。
3. Default Styleが適用されている段落に"a①あ①"の4文字を入力する
4. 2文字目の①は20ptで表示され、4文字目の①は10.5ptで表示される。

一般的にひらがなは東洋で用いられ、アルファベットは西洋で用いられる。もちろん実装上そういうデータがちゃんとコード上にある。じゃあ'①'は西洋?東洋?悩むと思う。答えを言うと、それらの情報が割り当てられていないので、周りの情報からどちらであるか決定することになる。東洋系の文字列の直後にあるときはその一部として扱われるため東洋系のフォントが適用され、西洋系の文字列の直後にあるときもその一部として扱われるので、西洋系のフォントが採用される。
http://opengrok.libreoffice.org/xref/...

//// ここから補足

http://opengrok.libreoffice.org/xref/...

平仮名と片仮名はUBLOCK_CJK_RADICALS_SUPPLEMENTとUBLOCK_HANGUL_SYLLABLESの間にあるから東洋系

これらに含まれない①は

http://icu-project.org/apiref/icu4c/u...

http://icu-project.org/apiref/icu4c47...

http://www.unicode.org/Public/5.0.0/u...

2460..249B ; Common # No [60] CIRCLED DIGIT ONE..NUMBER TWENTY FULL STOP ⇒ COMMONだから0で

http://opengrok.libreoffice.org/xref/... ⇒ WEAK

ここまで ////

ただし、最初の地点でそのような状態に陥ったとき、後続があるときはそれに従い、それすらないときはデフォルト設定されている言語に従う。…ようにみえるんだけど、何故か後続があるときの挙動が再現できないんだよなあ 俺の環境で。

http://opengrok.libreoffice.org/xref/...

こういう実装だから
"あa①"を入力しておいて"a"を消すと"①"のフォントサイズが変わります。

ところで、思いつきを一つ実験したら、中々面白い結果が得られたので追記。
オプション上で、ロケールが英語になっており、
Default Styleで西洋系と東洋系のフォントサイズをそれぞれ設定してあるとします。
で、最初の段落に"①"を入力しておきます。
このファイルを適当なファイル名で保存し、ロケールを日本語に切り替えてWriterを再起動。
すると、ファイルが再度開かれるわけですが、割り当てられるのが西洋から東洋に変化するので、この部分、文字のサイズが変わります。
例えば複数の国の研究者がLibreOfficeを用いて論文を書こうとファイルを共有したとすると…とか脳裏に浮かんだりします。まぁ単なる思考実験ですが。

検証環境:
Version: 5.3.3.1 (x64)
Build ID: 46360c72c4823cefeaa85af537fba22bd568da7e
CPU Threads: 4; OS Version: Windows 6.19; UI Render: default; Layout Engine: new;
Locale: en-US (ja_JP); Calc: group

むぅ。本当は積みゲー消費後に投稿予定だったのだが、クリアの見通しが全然立たないので見切り発車orz

edit flag offensive delete link もっと
0

回答日 2017-05-16 07:22:53 +0200

hibagonsan のGravatar画像

updated 2017-05-16 07:24:42 +0200

私の設定の例です。

個別のフォント設定以外の、フォントの基本設定ですが、、「ツール」-「オプション」でオプションダイアログを表示します。

LibreOffice Wreiterのツリーを開き、既定のフォント(西欧諸言語)、規定のフォント(アジア諸言語)の設定をチェックします。

私の場合は、西欧もアジアも全て、IPAexゴシックに統一しています。フォントの大きさも見出し以外は12ポイントで統一しています。 見出しのみ14ポイントにしています。

こうすることで、フォントの西欧(半角?)ーアジア(全角?)によるフォントの大きさのブレや配置のブレを防止しています。

IPAフォントは無料で入手可能です。TTF4書体などをダウンロードしてインストールします。

http://ipafont.ipa.go.jp/old/ipafont/...

edit flag offensive delete link もっと
0

回答日 2017-05-11 16:49:55 +0200

JO3EMC_a のGravatar画像

nogajunさんのAnswerのとおりなのですが、補足として。

メニューから「書式」「文字」と辿って文字ダイアログを表示し、「フォント」タブを選択してみて下さい。「西洋諸言語用フォント」と「アジア諸言語用フォント」が別々に設定できるようになっているのが見て取れると思います。今しがたLibO 5.3.2.2 on Win8.1で標準で新規作成されるファイルを見てみたところ、西洋諸言語用が「Liberation Serif」の12pt、アジア諸言語用が「MS 明朝」の10.5ptとなっていました。つまり日本語の方が小さいサイズが指定されています。5.1.6.2で同じかどうかは分かりませんが、同様の状況ではないかと推察されます。

この違いの原因がnogajunさん指摘のオプション設定で、同じくメニューから「ツール」「オプション」と辿ってオプションダイアログを表示し、左側のリストから「LibreOffice Writer」「規定のフォント(西欧諸言語orアジア諸言語)」(「西欧」の訳がブレてますね…汗)を選択比較すると、一部のサイズが両者で違っていたりするのではないかと思います。私の環境では標準のみ、アジア諸言語の方で10.5ptとなっていました。

標準設定がこのようになっているのは、ちょっとどうなのかな…という気はしますね…。見出しやキャプションなど標準以外のものは揃っているので、なんとなくバグ(というか設定不備)っぽいなぁ…とい気はしますが…。

edit flag offensive delete link もっと
1

回答日 2017-03-21 13:17:19 +0200

updated 2017-03-21 13:20:12 +0200

OSが書いていないのでLinux上の5.2.6.2と5.3.1.2で試しましたが、そのような状態にはなりませんでした。

ひとまず対策を考えると、西洋諸言語のフォントとアジア諸言語のフォントはそれぞれ別のフォントが割り当てられていると思いますが、オプションの「規定のフォント」か標準スタイルから、西洋諸言語とアジア諸言語の両方に同じフォント、同じサイズを設定するとどうなるでしょうか。

5.1系は昨年11月末でサポート終了になっているので、5.2系にアップデートするとどうでしょうか。 また、試せる環境があるなら5.3からはレンダリングエンジンが変わっているので試してみるといかがでしょうか?

edit flag offensive delete link もっと
ログイン/サインアップして回答する

質問ツール

2 followers

Stats

Asked: 2016-12-27 08:31:28 +0200

Seen: 217 times

Last updated: May 23 '17