1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Segoe UIとYu Gothic UIを合成し (て失敗し) た話

Last updated at Posted at 2021-03-15

円記号問題は百害あって一利なし

本来、Windowsのディレクトリ セパレーターは 円記号 (¥) ではなく backslash (\) なのだが。Windowsの日本語環境では 円記号 (¥) で表示されているのが死ぬほど気持ち悪い。

S-JIS には バックスラッシュ が収録されていないと思い、グリフが無さそうであきらめていたが。そもそも Yu Gothic UI游ゴシックSegoe UI との合成フォントらしい。であれば、 Segoe UI から バックスラッシュ のグリフが補完出来るのではと思い、 Yu Gothic UI を真っ当なフォントに修正しようと、合成に挑戦してみた。

※ なお本記事では U+005Cbackslash (\) から 円記号 (¥) に置き換えているフォントは 真っ当なフォントではない と言う扱いで進めます。

http://www.jiyu-kobo.co.jp/wp@test/wp-content/uploads/2020/11/compatibility201102.pdf
image.png
(Windowsだけ置き換えているのが滑稽すぎる。)
image.png

(結論) あまりうまく行かなかった。。。

普段は 。Meiryo UIも大っきらい!! (No!! Meiryo UI)Migu 1P 置き換えて使っていたが、置き換えられるのには限界があり、フォントの合成にチャレンジしてみたのだけど。
ダイアログのフォントとか、色々とおかしくなってしまった。。。取り敢えず使い物にならないので、戻しました(苦笑)

image.png
image.png

ぱっと見は良さそうだけど。。。
image.png
image.png
image.png
image.png

(´;ω;`)・・・
しかし、Segoe UI はとっても見栄えが良くて好きになる。

合成とインストール

※ 自己責任でお願いします。
※ 自己責任でお願いします。
※ 自己責任でお願いします。
※ 自己責任でお願いします。
※ 自己責任でお願いします。

環境

手順

手順① 必要なフォントを作業用にコピー

Segoe UI游ゴシック をコピーしてくる。

@REM 游ゴシックのTTC
copy C:\Windows\Fonts\YuGothB.ttc .\
copy C:\Windows\Fonts\YuGothL.ttc .\
copy C:\Windows\Fonts\YuGothM.ttc .\
copy C:\Windows\Fonts\YuGothR.ttc .\

@REM Segoe UIのTTF
copy  C:\Windows\Fonts\segoeui.ttf .\
copy  C:\Windows\Fonts\segoeuib.ttf .\
copy  C:\Windows\Fonts\segoeuii.ttf .\
copy  C:\Windows\Fonts\segoeuil.ttf .\
copy  C:\Windows\Fonts\segoeuisl.ttf .\
copy  C:\Windows\Fonts\segoeuiz.ttf .\
copy  C:\Windows\Fonts\seguibl.ttf .\
copy  C:\Windows\Fonts\seguibli.ttf .\
copy  C:\Windows\Fonts\seguili.ttf .\
copy  C:\Windows\Fonts\seguisb.ttf .\
copy  C:\Windows\Fonts\seguisbi.ttf .\
copy  C:\Windows\Fonts\seguisli.ttf .\

※一括でコピってるけど、使わないのもある。

手順② TTCの分割

TTCはTTFの集合体。
作業はTTFで行うため、ため分割する。

command
FOR %A IN (*.ttc) DO unitettc64.exe "%A"

image.png
※生成されたTTFの内、赤字のものが Yu Gothic UI のため、それらと Segoe UI を合成する。

手順③ 合成

ベース フォント に対して、 追加フォント を足し込むイメージ。
image.png
※ 字游工房で公開されている資料とは突合していないため、不正確かもしれない。

諸々作業が終わった後、PDFに記載されていることに気づいた(苦笑)
正確な情報は 字游工房で公開されている資料 を参照。

Yu Gothic UI 系のフォントに対して、以下の手順を繰り返す。

(1). FontForgeSegoe UI フォントを開く
(2). [エレメント] > [フォントの統合] 選択し、 Yu Gothic UI フォント を読み込ませる。
(3). カーニング についてのダイアログが表示されるので [いいえ] を選択する。

image.png

(4). [エンコーディング] > [エンコーディングを変換] > [ISO 10646-1 (Unicode, 完全)] を選択する。

image.png

(5). FontForgeYu Gothic フォントを開く
(6). [エレメント] > [フォント情報] を開き、 Yu Gothic フォント のフォント情報を転記する。

  1. PS Names
  2. TTF名
    ※ 両フォントにある属性のみコピー。
    ※ オリジナルの Yu Gothic フォント に無い属性は削除する。

image.png

(7). [ファイル] > [フォントを出力] を選択し、 ファイル名を入力し、 [生成] ボタンを押下して出力する。
[Validate Before Saving]OFF にする。
image.png
(上書きしても良いけど、別名がベター。自分で分かる名前で。)

Yu Gothic UI 系のフォントに対して、以上の手順を繰り返す。

手順④ TTCに結合

合成フォントでTTCファルを作り直し。
以下のコマンドは、Yu Gothic UI のTTFファイルを上書きした想定のコマンド。

command
unitettc64.exe YuGothB.ttc YuGothB001.ttf YuGothB002.ttf YuGothB003.ttf
unitettc64.exe YuGothL.ttc YuGothL001.ttf YuGothL002.ttf
unitettc64.exe YuGothM.ttc YuGothM001.ttf YuGothM002.ttf
unitettc64.exe YuGothR.ttc YuGothR001.ttf YuGothR002.ttf

※ このツールって、スイッチじゃなくて、引数の数で生成 or 結合の挙動が変わるの、申し訳ないけどちょっと気持ち悪い。。。

手順⑤ フォントのインストール事前作業

游ゴシック のTTCファイルの所有権を奪取し、 Adoministratorsフル コントロール を与える。
image.png
游ゴシック のTTCファイル、全部やるます。
※ 手順は腐るほど転がっているので割愛。

手順⑥ フォントのインストール

回復オプションコマンド プロンプト を起動してコピーする。

  1. SHIFTキーを押下しながら 再起動 を選択。
  2. [オプションの選択] > [トラブルシューティング] > [コマンド プロンプロン] を選択。
  3. よしなに。
@REM before
dir C:\Windows\Fonts\YuGoth*

@REM 上書き
copy /y YuGothB.ttc C:\Windows\Fonts\YuGothB.ttc
copy /y YuGothL.ttc C:\Windows\Fonts\YuGothL.ttc
copy /y YuGothM.ttc C:\Windows\Fonts\YuGothM.ttc
copy /y YuGothR.ttc C:\Windows\Fonts\YuGothR.ttc

@REM after
dir C:\Windows\Fonts\YuGoth*

※ システム ドライブは状況によって変わるので、適宜確認しながら作業してください。

手順⑨ 以上

以上。

トラブル シューティング

Q. なんで Yu Gothic UI のTTCのグリフを直接 backslash に置き換えないの?

A. U+005CU+00A5 がリンクされてて、それの解除の仕方がわかんなかったんだよ。。。
(´;ω;`)

Q. FontForge でコピペできない。

A. コンテキスト メニュー で頑張ろう。 (プロセスが違うとコピペ出来ない?)

Q. FontForge 文字入力がうまく入力できない。

A. US キーボード を使おう。取り敢えず、英字はまともに入力出来る様になる。
image.png
image.png
個人的には US インターナショナル が欧州文字も入力出来て、おすすめ。

(後述) 円記号問題について

日本ではこれまで ASCII領域0x5Cbackslash (\) ではなく Yen (¥) として使っていた。そのため日本ではWindowsの ディレクトリ セパレータ や、 エスケープ シーケンス円記号 (¥) として認識されている。

と言うのも、ASCII領域には実は再定義可能な文字がいくつかあり、そのうちの1つが backslash (\) だった模様。計算機が真っ先に活躍したであろう市場の1つに金融系があると考えると、通貨記号が必要になるのは至極当然のため、 ASCII時代から 円記号 (¥) に置き換えて使用していたのだと推察。

しかし、0x5Cbackslash (\) として扱っている ISO-8859 をベースに拡張されている UNICODE では U+005C (0x5C)Yen (¥) ではなく backslash (\) である。まぁ当然である。特異なS-JISをベースにする理由もない。

まぁ半角カタカナ同様、移動した文字として扱えば良いのにと思うだけど。基本的に、様々な文字コードの中で互換性を持つ扱いとしている ASCII領域 の基本文字ため、ちょっと一筋縄では行かない。

そして、日本のMicrosoftは U+005C (0x5C) のフォント グリフを Yen (¥) にして回避しており、さらに混乱させているのは YenSign問題 である。

ただし、これは日本固有の問題では無く、0x5Cbackslash (\) から通貨記号に置き換えていた国がいくつか有る様で。この対応自体は誤りではないのだけど。知れば知るほど、利点が無い。こんなのユーザーが認識改めて、システムを改修するべき話である。改修規模を軽視するつもりも無いが、プログラマやSEなど、プログラマへの認知も阻害している要因になっており、正直こんなの要らない機能でしか無い。

先日も、プログラム系の記事の中で、パスを表現で、ディレクトリ セパレーター に態々 U+00A5円記号 (¥) を使っている馬鹿なページを見かけて辟易とした。(他にも 全角の円記号 (¥) とか、、、) ディレクトリ セパレーターU+005C だ!

それでも必要だと言うのであれば、Microsoftはちゃんとその理由などを明示的に示すべきである。

昔からある MS GothicMS 明朝メイリオ も時期的には仕方ないとして。游ゴシック まで置き換える必要があったのだろうか。正直、微塵も必要性が感じられない。通貨記号使っているシステムが改修するべき問題だろう。実際、YodobashiのGOLD POINTの3Dセキュア認証ページは、2019年3月頃には遅いながらも改修がされていた。
image.jpg
(以前チェックしていたときのSS。画角が違うのは、使っていたAndroid端末が違うからだと思うけど、何れも、差し替え無しフォントで検証。)
他の通貨記号を扱うサイトも同様に改修されていると思うが、これが真っ当な対応だと思う。

さっさと、このフォント置き換えは悪法として撤廃してほしい。
あと、日本語キーボードで直接 0xA5 (¥) が打てる様に、キーボード配列も見直してほしい。英語キーボード配列をベースにして。

尚、Androidでもこの悪法を行っている愚かなフォントが存在するので、実際にはMicrosoftだけが罪人ではない。だけど、天下のMicrosoft様が 鶴の一声 があれば、業界も変わりやすいと思う。UNICODEの健全な将来のためにも、頼んます!もう潮時でしょう!

正直パッケージも買って 游ゴシック游明朝バックスラッシュ も補完しようと思ったけど。流石に1書体で3万とかムリゲー過ぎる。。。こんな マイノリティのエゴ のために、十数万も出すなら、Windows使うの辞めるよ、、、、マジで。。。

(おまけ) Migu 1P によるUI

Meiryo UIも大っきらい!! (No!! Meiryo UI) を使って色々試した結果。WindowsのUIフォントとしては、Migu 1P が最もベターだったので、ここ数年使っている。
Windowsの ディレクトリ セパレーター で円記号問題にゲロ吐いている同士には、オススメしたい。
image.png
image.png
image.png
(NOTOとかTakao、梅とか試したけど。個人的に一番好みだった。)

参考 (謝辞)

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?