Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mergedされたフォントをCanvasで利用すると半角スペースが全角スペースになる #75

Open
ANTON072 opened this issue Nov 27, 2023 · 5 comments

Comments

@ANTON072
Copy link

Canvasで文字を描画するアプリケーションを作っています。
mergedされた MergedYakuHanJP-Bold.ttf を使っています。

※青地のフォントがCanvasエリアです。
CleanShot 2023-11-27 at 21 12 26@2x

このように半角スペースを入力しても全角スペースと認識されてしまいます。

Noto Sans JP を利用した場合は、半角スペースは半角スペースとして描画されます。
CleanShot 2023-11-27 at 21 14 11@2x

Noto Sans JPでは半角スペースが認識されているので、フォントの問題かな?と思ったのですが心当たりはございますでしょうか??(アプリケーション側の問題でしたら大変申し訳ございません😇)

qrac added a commit that referenced this issue Nov 28, 2023
@qrac
Copy link
Owner

qrac commented Nov 28, 2023

@ANTON072
ご報告ありがとうございます!
申し訳ありませんが、こちらはおそらくフォントの問題です。

私もCanvas描画環境を作ってみたところ、確かにスペースを含むいくつかの不具合が起きました。

スペースは機能しているが半角英字が全角に ファイルパスは認識しているがw900が出ない
localhost_5173__font=YakuHanJP text=%E3%80%8COGP%E7%94%9F%E6%88%90%E3%81%AB%E4%BD%BF%E3%81%88%E3%82%8B%EF%BC%81%EF%BC%81%EF%BC%9F%E3%80%8D%E3%81%9D%E3%81%86%E3%80%81%E3%81%93%E3%82%8C%E3%81%AFYakuHanJP%E3%82%92%E3%80%8E%E5%85%83%E3%83%95%E3 localhost_5173__font=YakuHanJP text=%E3%80%8COGP%E7%94%9F%E6%88%90%E3%81%AB%E4%BD%BF%E3%81%88%E3%82%8B%EF%BC%81%EF%BC%81%EF%BC%9F%E3%80%8D%E3%81%9D%E3%81%86%E3%80%81%E3%81%93%E3%82%8C%E3%81%AFYakuHanJP%E3%82%92%E3%80%8E%E5%85%83%E3%83%9 (1)
英字が続くとスペースや半角数字が全角に 丸ゴシックのカッコが一部縦書きに
localhost_5173__font=YakuHanJP text=%E3%80%8COGP%E7%94%9F%E6%88%90%E3%81%AB%E4%BD%BF%E3%81%88%E3%82%8B%EF%BC%81%EF%BC%81%EF%BC%9F%E3%80%8D%E3%81%9D%E3%81%86%E3%80%81%E3%81%93%E3%82%8C%E3%81%AFYakuHanJP%E3%82%92%E3%80%8E%E5%85%83%E3%83%9 (2) localhost_5173__font=YakuHanRP text=%E3%80%8COGP%E7%94%9F%E6%88%90%E3%81%AB%E4%BD%BF%E3%81%88%E3%82%8B%EF%BC%81%EF%BC%81%EF%BC%9F%E3%80%8D%E3%81%9D%E3%81%86%E3%80%81%E3%81%93%E3%82%8C%E3%81%AFYakuHanJP%E3%82%92%E3%80%8E%E5%85%83%E3%83%95%E3
  • 明朝体(YakuHanMP・YakuHanRP)は不具合なし

いずれもベースフォント(Noto Sans JP・Noto Serif JP・M PLUS Rounded 1c)を使った場合には不具合は起きませんでした。そのため、YakuHanJPのフォント生成でフォントや文字を呼び出したり割り当てる情報が欠損していると思われます。

また、SVG化>PNG生成の描画環境の場合は不具合が発生せず、私のテストとANTON072さんの検証で差異があることから、ライブラリのレンダリング性能が良いと補填される問題なのかもしれません。

今のところ、何を修正すれば直るのか不明確で文献もないため、解決まで時間がかかりそうです。

@ANTON072
Copy link
Author

@qrac ありがとうございます!!

qrac added a commit that referenced this issue Nov 29, 2023
@qrac
Copy link
Owner

qrac commented Nov 29, 2023

@ANTON072
Noto Sans JPファイルを開いて何も編集せずにフォントファイルを書き出してもバグが発生しました。Noto Sans JPとフォント編集ソフトGlyphsの相性自体が良くないのかもしれません。代替のフォント編集ソフトがなく解決策も見出せないため、この件への対応は一旦保留させていただきます...。

その他(上記を含む)試したものの改善されなかった修正は以下のとおりです。

  • Noto Sans JPをGlyphsで開いて何も編集せずにフォントファイルを書き出し
  • フィーチャーをNoto Sans JPからMerged YakuHanJPにコピーしてエラー箇所を削除して出力
  • オプション「重なったパスを合体」をチェックして出力
  • オプション「すべてのグリフをオートヒント」をチェックして出力
  • 設定「読み込み元のファイルのグリフ名を保持」をチェックして出力
  • 設定「読み込んだファイルではコンポーネントの自動整列を解除」をチェックして出力

@ANTON072
Copy link
Author

@qrac ご検討いただきありがとうございました!!イシューは残しておいたほうがよいですかね??

@qrac
Copy link
Owner

qrac commented Nov 29, 2023

@ANTON072
はい、このままで構いません。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants