Repository navigation
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
端末によってドコモ独自絵文字になるSumire内の表示を、設定「端末標準」(既定)/「Google絵文字」で切り替えられるようにします。絵文字一覧・使用履歴・肌色選択ポップアップが対象です。入力するUnicode、カテゴリ・履歴管理・肌色選択・文字入力の処理、通常のかな漢字変換候補、入力先アプリやOSの表示は維持します。
同梱したNoto Color EmojiのTypefaceを絵文字用ビューに明示指定します。実行時はオフラインで動作します。GoogleセルではAppCompatの自動EmojiSpanを無効にし、元の文字列から再バインドします。モードを戻すと元のフォントとEmojiCompat設定を復元します。KeyboardFontApplicatorを使い、表示用の独立したリビジョンでカスタムフォントとの切替を管理します。各ビューが接続中の設定変更を監視するため、主・フローティング・分割表示で同じ方式を使います。新しいビューも保存済み設定を読み込みます。
EmojiCompatの強制置換も検討しました。同梱Typeface方式は、絵文字ビューに範囲を限定でき、プロセス全体のEmojiCompat設定や実行時のフォントプロバイダを必要としないため採用しました。
フォント・ライセンス・容量
99701e07d3d1fe1bdbcdb14964547f0fd592966fの2D/fonts/NotoColorEmoji.ttfをビルド時に取得し、SHA-256検証後にAPKへ同梱します。フォントは未改変です。初回ビルドには取得先への通信が必要です。15671215ab769fdc7162a045d56fd7d7e477c51b04e6b3c761d914d8fdd6cc44。主な変更
SymbolAdapter.kt、CustomSymbolKeyboardView.kt、EmojiRenderingStyle.kt、GoogleEmojiFont.kt、AppPreference.kt、日英の設定リソースと検索登録、ライセンス表示、symbol_keyboard/google-emoji.gradle、単体・Androidテスト、既存Full Preview CIとAPK検査。設計・出典・手動確認手順:docs/google-emoji-rendering.md。
検証結果
最終Full Preview CI #40893779784 success。
単体計945件。上表の実行テストは失敗・エラー・スキップ0です。署名ジョブは規定の条件によりskipしています。
設定の即時反映・既定値・標準復帰・バックアップ・不正値、Activity再作成、force-stop後の異なるPIDでの設定復元を確認しました。一覧・履歴のクリックが返すUnicode、肌色6種類と選択結果、モードを往復した際のカスタムフォントの分離を確認しています。Android 14では10代表例の単一グリフ化と、実際に使ったフォントバッファのハッシュを検査し、同梱Notoの使用を確認しました。VS16、ZWJ家族・職業、肌色修飾子、国旗、キーキャップ、国旗タグを含みます。9例の有彩色描画と、元フォントでグレーの家族図柄の可視描画を検査しました。
比較画像は各23枚を回収・確認しました:Android 14、API 24。Android 14標準と同梱Notoで家族絵文字の図柄が変わること、肌色6種類が収まることも目視確認しています。
APK
未署名Full Preview APK・metadata.json / APK検査レポート(Artifacts、14日保持)。
com.kazumaproject.markdownhelperkeyboard.preview1.7.133-preview215448072e7c7999456b4052e569bae45022621c5b127124a7dc67a3cf4aa558fa404a331948f2dbce85081b8ecbe3b08813af3c9c2ff8b42ad645c45067ccaeb7bd0727dae357a9a888ee4d23ced2a73f5f25a34fb09bd49fbba1868abcc6495Artifactを実際に取得し、GitHubのArtifactダイジェスト、metadataとAPKのSHA-256、全ZIPエントリCRC、フォント・ライセンス、ARM64/x86_64のZenz・Gemma runtime、Zenzモデル・コンパクト辞書を再照合しました。CIでは非debug・未署名、ID・ラベル・provider authority・IME設定先、16KB整列も確認しています。
未署名APKはそのままインストールできません。 既存Preview署名ジョブはownerによる
preview上の手動実行専用のため、この機能ブランチの署名には利用していません。署名条件・Environment保護は維持し、鍵や署名情報の出力は行っていません。未検証・実機で確認する点
ドコモ端末での直接確認はできていません。署名済みの検証版を用意した際は、Android 14のドコモ端末でGoogle/標準の図柄差、カラー・複合絵文字、履歴・肌色選択、主/フローティング/分割表示、明暗テーマ・横画面・高速スクロール、Full IMEの再起動、入力先アプリでのUnicode維持を確認してください。リリースAPKの実機インストール・操作は未検証です。
基点:preview
e3cc93537c1c0912cb451b39133c270d39a10b9b。Draft・未マージです。preview/dev/mainへの直接push・force pushは行っていません。