overlay: フォントキャッシュ追加と小型ログのルビ描画を改善
- フォントのメモリキャッシュ(_font_cache)と _get_font を導入し truetype 読み込みを最適化 - createTextboxSmallLog を堅牢化(None対応、幅測定の例外処理、改行判定の改善) - 単語単位ルビ描画機能を追加(renderRubyBlock / createTextboxSmallLogWithRubyTokens) - トークン毎の幅算出/センタリング、行折り返し検出時のフォールバック実装 - createOverlayImageSmallLog を拡張して、元文・翻訳それぞれにルビ適用とフォールバック合成を実行 - __main__ のテスト呼び出しを翻訳リスト形式に合わせて修正し、ルビテスト追加
This commit is contained in:
@@ -1068,6 +1068,15 @@ class Config:
|
||||
case "opacity" | "ui_scaling":
|
||||
if isinstance(value, (int, float)):
|
||||
self._OVERLAY_SMALL_LOG_SETTINGS[key] = float(value)
|
||||
case "ruby_font_scale":
|
||||
if isinstance(value, (int, float)):
|
||||
v = float(value)
|
||||
if 0.05 <= v <= 3.0:
|
||||
self._OVERLAY_SMALL_LOG_SETTINGS[key] = v
|
||||
case "ruby_line_spacing":
|
||||
if isinstance(value, int):
|
||||
if 0 <= value <= 200:
|
||||
self._OVERLAY_SMALL_LOG_SETTINGS[key] = value
|
||||
self.saveConfig(inspect.currentframe().f_code.co_name, self.OVERLAY_SMALL_LOG_SETTINGS)
|
||||
|
||||
@property
|
||||
@@ -1423,6 +1432,8 @@ class Config:
|
||||
"opacity": 1.0,
|
||||
"ui_scaling": 1.0,
|
||||
"tracker": "HMD",
|
||||
"ruby_font_scale": 0.5,
|
||||
"ruby_line_spacing": 4,
|
||||
}
|
||||
self._OVERLAY_LARGE_LOG = False
|
||||
self._OVERLAY_LARGE_LOG_SETTINGS = {
|
||||
|
||||
Reference in New Issue
Block a user