-1
View.onDraw()で音楽記号を描き、ユニコードにいくつかの記号が含まれていることがわかりました。 here is the Code Chart しかし、私はdrawText( "\ u1D100")を呼び出すと、4つの文字の後に符号化され、最後の "0"は引き続き "0"で描画されます。androidのユニコードの音楽シンボル
View.onDraw()で音楽記号を描き、ユニコードにいくつかの記号が含まれていることがわかりました。 here is the Code Chart しかし、私はdrawText( "\ u1D100")を呼び出すと、4つの文字の後に符号化され、最後の "0"は引き続き "0"で描画されます。androidのユニコードの音楽シンボル
Java/Androidの文字列は、UTF-16を使用してエンコードされます。 \u
エスケープ表記法は、最大4桁の16進数をサポートします。したがって、U + FFFFを超えるUnicodeコードポイントをエンコードするには、UTF-16サロゲートペアとしてエンコードする必要があります。これは、Java/Androidのドキュメントで明確に説明されています。
U+1D100
はUTF-16で0xD834 0xDD00
ので、代わりにこの使用します。また
drawText("\uD834\uDD00", ...)
を、実行時にchar[]
アレイへのUnicodeコードポイントを変換し、それを描くことができます:
char[] ch = Character.toChars(0x1D100);
drawText(ch, 0, ch.length, ...)
いずれにせよ、実際にはU+1D100
をサポートするフォントを使用する必要があります。