回答編集履歴

1

Unicodeのデータを追加

2021/01/17 14:11

投稿

ikadzuchi
ikadzuchi

スコア3047

test CHANGED
@@ -7,3 +7,35 @@
7
7
  [https://www.fileformat.info/info/unicode/char/1d7ee/index.htm](https://www.fileformat.info/info/unicode/char/1d7ee/index.htm)
8
8
 
9
9
  しかしZuishinさんの修正前の回答がそれでしたが、どうやら非対応なのですね…。
10
+
11
+
12
+
13
+ ---
14
+
15
+
16
+
17
+ 追加です。
18
+
19
+ 考えてみると大本のUnicodeのデータを示すべきでした。
20
+
21
+ [こちら](https://www.unicode.org/ucd/)から辿れる、[UnicodeData.txt](https://www.unicode.org/Public/UCD/latest/ucd/UnicodeData.txt)がそれです。
22
+
23
+ 例えばU+1D7EEを見ると
24
+
25
+ ```1D7EE;MATHEMATICAL SANS-SERIF BOLD DIGIT TWO;Nd;0;EN;<font> 0032;2;2;2;N;;;;;```
26
+
27
+ とあります。
28
+
29
+ 各要素の意味は[こちら](http://www.unicode.org/reports/tr44/#UnicodeData.txt)に書いてあり、ここで重要なのはDecomposition_Type・Decomposition_MappingおよびNumeric_Type・Numeric_Valueあたりです。
30
+
31
+ Decompositionは名前の通り組文字をそれぞれの文字に分解したり、名前からは想像がつかないものの今回のように特殊な1文字を普通の1文字にマッピングしたりしています。
32
+
33
+ それが今回「<font> 0032」ということで、[こちら](https://www.unicode.org/reports/tr44/#Character_Decomposition_Mappings)によれば<font>は「Font variant (for example, a blackletter form)」ということです。フォントなんですね。
34
+
35
+ そして対応する文字がU+0032「2」ということが分かります。Chromeが見ているのはたぶんこれです。
36
+
37
+ また数字についてはNumeric_Type・Numeric_Valueがあり、タイプは3種類ありますがまあ今回のような1桁の数字の文字ならどれも同じくその数値「2」を示します。
38
+
39
+
40
+
41
+ UnicodeのDecompositionができるような言語・実行環境ならこれを使うとよいのでしょう。JavaScriptで使えそうな気もしますが、実行環境も様々ありますし使えるものばかりでもないような気もします。