フォールバック カスタムフォント
-
どうもお世話になってます
フォールバックの記事を見ていて
カスタムフォントは非対応になってますが
これ対応は無理なんでしょうか?好みの白源やUDEV Gothicは円記号の問題でここだけネックでしたが
思いつきで
円記号だけのフォントを作りこれをMeryのフォントに登録
フォールバックでUDEV Gothic(JPDOC版)と保険にMSゴシックとLastResortにすると
うまく日本語フォント風になり成功
https://imgur.com/1U37dM2
理想のフォント表示になったと喜びましたが
カスタムフォントがフォールバック非対応なので
ポータブ環境では使えず、ぐぬぬとなってます
あとフォールバックの所の上下移動ボタンは無くなったのですか?
ドラッグで移動できるので問題ないのですが
フォールバックの記事を見ていたのであれ?となりました| kiyohiro | 返信 -
ご愛用いただきありがとうございます。
> フォールバックの記事を見ていてカスタムフォントは非対応になってますがこれ対応は無理なんでしょうか?
はい。私が調べた限りですと DirectWrite 自体にそういった機能ないので Mery でも対応できない状態です。
技術的な話になってしまいますが…
【参考】IDWriteFactory2::GetSystemFontFallback メソッド (dwrite_2.h)
https://learn.microsoft.com/ja-jp/windows/win32/api/dwrite_2/nf-dwrite_2-idwritefactory2-getsystemfontfallback現状、DirectWrite の API は上記の GetSystemFontFallback しか用意されておらず、システムフォント (インストール済みのフォント) からしかフォールバックフォントを取得できません。
Get'Custom'FontFallback みたいな感じの API を Microsoft が用意してくれると良いのですけれどね。また、他に方法をご存じのかたがいらっしゃったら情報をいただけるとありがたいです。
> あとフォールバックの所の上下移動ボタンは無くなったのですか?
はい。オプション画面のスペースの都合により Ver 3.3.2 で上下ボタンは削除して、その代わりにドラッグアンドドロップで移動できるようにしました。
| Kuro | 返信 -
回答ありがとうございます
分かりました
それなら仕方ないですね
仕事で使うならUSBメモリに入るPortable対応が必要だったもので
まあ、家で使う時のフォント問題が解決しただけでも嬉しいですもう一つ質問お願いします
フォントによってルーラーや行間等レイアウトが変わりますが
これフォントのどの部分で判断してるのでしょうか?
今回の円記号.ttfは自作で入ってるのは円記号1文字だけ
等幅とUDEV Gothicの他の記号の大きさのバランスのみ意識したものです
UDEV Gothicと比べると行間が詰まってしまうので円記号.ttfの修正で行けるなら
合わせたいです
よろしくお願いします| kiyohiro | 返信 -
DirectWrite は現在でも機能追加されていってるので将来的にはできるようになるかもしれないですね。
> フォントによってルーラーや行間等レイアウトが変わりますがこれフォントのどの部分で判断してるのでしょうか?
フォントについては詳しくないので ttf ファイルの仕様までは分かりかねますが、プログラムとしては以下の記事で行間について説明しています。
フォントによっては GDI (DirectWrite オフ) と DirectWrite で取得できる行間の情報が異なるケースがあるようですが、Mery の場合、横書き時の行間は DirectWrite のオン・オフにかかわらず GDI の行間を採用しています。
ルーラーの幅は「0」の文字から取得した幅を基準にしています。
| Kuro | 返信 -
こんにちは。UDEV Gothicの作者です。
> UDEV Gothicと比べると行間が詰まってしまうので円記号.ttfの修正で行けるなら
> 合わせたいですFontForgeをお使いなら、
https://blue-red.ddo.jp/~ao/wiki/wiki.cgi?page=%A5%D5%A5%A9%A5%F3%A5%C8%A4%CE%B9%E7%C0%AE
のサイトで紹介されている、「ベースにするフォント(Migu1M)の調整」という章を参考に、そのあたりの各種パラメーターをいじってみると行の高さが変わると思いますので、よければお試しあれ。(フォントフォールバックとの兼ね合いで意図せず高さが変わったりしないかとかは、ちょっと分かりませんが…)| yuko | 返信 -
Kuroさん
yukoさん
色々アドバイスありがとうございます
頂いた情報を元に試してみます特にUDEVGothicの作者さんはここでよくお見かけするので
例え1文字でも表示が変わってるので怒られるかな
でもフォールバック機能なのでok、怒られたた止めようとか考えてましたFontForgePortable使いました
しかし今回のフォールバックを使って円記号の変更を思いつき
1文字位なら簡単かと思い始めたのですが
完全素人だとむちゃくちゃムズいですね
2週間ぐらい色んなサイトとにらめっこしてやっと出来ました
しかも何処をどういじったのか覚えてないので
教えて頂いたサイトを参考にまた色々試してみます| kiyohiro | 返信 -
>> yuko さん
サポートのご協力ありがとうございます。
UDEV Gothic、最強です!HackGen と行ったり来たりしてますがどちらも愛用させていただいてます。
DirectWrite のフォントフォールバックの仕様はブラックボックスなので、フォールバックしたときの行間がどうなるかは謎ですが…
>> kiyohiro さん
なんかすごいことやってますねー。
フォントの制作は未知の領域なのでお役に立てないと思いますが、なければ作るの精神、素敵です。
Mery の仕様についてなら回答できると思うのでまたお気軽にどうぞー
| Kuro | 返信 -
一応完成しました
https://imgur.com/lPGMZbo
多分色々間違っていると思いますが
表示出来てるので後は無視
と言うかもう触りたくない
素人は手を出すべきではなかった
まず、FontForgeの使いかたが分からない
ググっても情報が少なく古い
専門用語だらけで設定が多すぎ
正解の数値か分からないので適当
少し変更したらフォント生成してMeryで確認の繰り返し
たった1文字で死にかけました> ルーラーの幅は「0」の文字から取得した幅を基準にしています。
円記号.ttfは
円記号しか入ってないので
https://imgur.com/7mXMMaf
ルーラーと行番号は
フォールバックのUDEV Gothic(JPDOC版)
で表示されてるみたい
行間は
エレメント -> フォント情報 ->OS/2 -> メトリック
のWin AscentとWin Descentで設定出来るみたい>> yuko さん
UDEV Gothic(JPDOC版)v1.2.0で○が半角表示されます
(全角表示されるようになる記号一覧は こちら)には入っているし
v1.1.0では全角表示でした
ご確認お願いします。| kiyohiro | 返信 -
>> kiyohiroさん
> 例え1文字でも表示が変わってるので怒られるかな
いえいえ、オープンソースにしてしまっていますし、自由にご自身の好きなものにしていただいていいと思います。
その探究心や、あっぱれ!です。FontForge、曲者なんですよね。基本的にLinuxのオープンソースツールなので、インストール方法も色々ありますし… バージョンによって、できることやUIなんかも微妙に異なったりして、難解です。
個人的には、手始めにまず「Em Size」というのをUDEV Gothicと同じ値に調整してみるといいと思います。
EMはいわば「グリフの縦の解像度」的なものなのですが、EMが異なっていてもフォールバックフォントとの文字サイズが違和感なく調整されているのを見るに、DirectWriteがよしなに拡大・縮小してフォント間のEM差を埋めている気がします。そのときに幅が微妙~にずれたりするんですよね。なので、まずはEMを元フォントとフォールバックフォント間で同じにすると、狙った幅や行間になりやすいのではないかなぁと想像しています。> UDEV Gothic(JPDOC版)v1.2.0で○が半角表示されます
> (全角表示されるようになる記号一覧は こちら)には入っているし
> v1.1.0では全角表示でしたそうですね、別口でも報告が上がってきているんですが、JetBrains Monoのアップデートにより一部の記号が半角表示になってしまっているんです。
ちなみに「全角表示されるようになる記号一覧」に入っているのは、「○ (U+25CB)」ではなく、「◯ (U+25EF)」の方ですね。見た目がややこしいですが別の記号なので、もともと「○ (U+25CB)」の方は全角表示を想定していなかったのです。
その状況で、JetBrains Monoに「○ (U+25CB)」が新たに追加されてしまったので、意図せず半角化してしまったんですよね。このあたりの問題は、こちらで扱っています。 https://github.com/yuru7/udev-gothic/issues/14
整理しつつ、そのうち「○ (U+25CB)」もJPDOC版では全角にするつもりです。>> Kuroさん
そう言っていただけて何よりです😎
私も、最近は大抵UDEV Gothicを使っています。HackGenで判読性を上げるべくたくさん癖付けしてきた胃もたれ的な反動か、あっさり癖のないUDEV Gothicはなんだかしっくり来ますwただ、ブラウザのようなメイリオが基本なページ上では違和感強めなので、ブラウザ固定幅フォントだけはPlemolJP 35を使っています。手前味噌ながら、こうやって選択肢が多いのは良いことですね。
| yuko | 返信 -
>> yuko さん
回答ありがとうございます
打ち間違いが多いので
英字や数字が認識しやすいし日本語も綺麗な
UDEV GothicやHackGenを使いたいと思ったのですが
日本語フォントに慣れてるので
円記号がどうしても違和感が強く何とかならないかと考え
フォールバック機能を思いつき1文字ならと始めたのですが
こんなに難しいとは思いませんでしたが
お2人のアドバイスで何とか日本語フォント風UDEV Gothic表示に成功しました??も少し気になるので(特に半角の方)修正したかったのですが
1文字で力尽きたので諦めましたが
> 個人的には、手始めにまず「Em Size」というのをUDEV Gothicと同じ値に調整してみるといいと思います。
を試してみたいですね
まあ、しばらくはやる気が出ないですが> 「○ (U+25CB)」ではなく、「◯ (U+25EF)」の方ですね。
別物でしたか○はよく使うので
変換で○の方が登録されていてそればかりできずきませんでした| kiyohiro | 返信