• このエントリーをはてなブックマークに追加

今なら、継続入会で月額会員費が1ヶ月分無料!

【報告】Google Chromeのフォントレンダリングのバグの修正
閉じる
閉じる

新しい記事を投稿しました。シェアして読者に伝えましょう

×

【報告】Google Chromeのフォントレンダリングのバグの修正

2017-01-30 22:53
    Google Chromeでゲームのフォント表示が乱れるバグの主因がChromeであることを突き止め、Chromeの中身を作っているチームに報告をしました。約3ヶ月後には更新されたChromeが一般ユーザーの手元に届きます。それまでは「連続してゲームをした場合、1度Chromeを閉じて立ち上げなおす」ことで回避できます。

    c813868662e4eec8a685544f93a34d48894beee9
    意図しない複数のフォントが混じって表示されてしまう

    ■なにが起きていたか?

    Google ChromeでRPGツクールMV製のゲームを連続してプレイしていると「フォントが混じり、本来作者が意図しているものと異なる表示になる」現象が起きていました。これは、Google Chromeのバグです。


    ■バグをどうしたのか?
    RPGアツマール運営チームはこのバグの原因を突き止め、Google Chromeのレンダリングエンジンを制作しているChroniumチームに報告をしました。この問題はChroniumチームにより修正され、Chromeのリリーススケジュールに合わせて各ブラウザに配布される予定です。
    標準的なリリーススケジュールによると、stable版として皆様に修正版が届くのは約3ヶ月後ぐらいの予定です。


    ■直るまでの間はどうしたらよいか?
    プレイしていて気になる場合は、一度Chromeを閉じて開き直せば治ります。
    また、ロードが完了すれば問題解決するので、プレイしているとそのうち治ることもあります。


    ■なにが起きていたか?
    RPGツクールでは、gamefont.cssにフォント情報を記述し、それをツクールのエンジンが参照する形になっています。
    この時、gamefont.cssでは"GameFont"というフォント名でブラウザに登録し、ツクールエンジン側も"GameFont"というフォント名で参照しています。

    ブラウザにフォントが登録されると、chromeはメモリ上のフォントキャッシュに指定されたフォントを展開します。そして、エンジンがcanvasにテキストレンダリングする時にそのフォントキャッシュに展開されたフォントを使用してレンダリングします。

    今回のバグは、そのフォントキャッシュがページ遷移で正しくクリアされておらず、以前のページのフォントがフォントキャッシュに読み込まれたままになっていることで発生しました。そのため、レンダリングで違うフォントが混じりました。
    特に、同一フォントファミリ(GameFont)で参照するURLが異なっていたのがクリアされなかった原因と考えられます

    ■具体的な報告内容
    dc93db04b0f1a1c22decf14b9c7a8667b9bdbd47

    再現コードを作り、英語でchromiumチームに報告をしました。報告は迅速に検討され、受理されました。対応ありがとうございました。以下でその様子を見ることができます。
    https://bugs.chromium.org/p/chromium/issues/detail?id=682999
    チャンネル会員ならもっと楽しめる!
    • 会員限定の新着記事が読み放題!※1
    • 動画や生放送などの追加コンテンツが見放題!※2
      • ※1、入会月以降の記事が対象になります。
      • ※2、チャンネルによって、見放題になるコンテンツは異なります。
    ブログイメージ
    RPGアツマール
    更新頻度: 不定期
    最終更新日:
    チャンネル月額: ¥550 (税込)

    チャンネルに入会して購読

    コメントを書く
    コメントをするには、
    ログインして下さい。