質問するログイン新規登録

回答編集履歴

1

Unicodeのデータを追加

2021/01/17 14:11

投稿

ikadzuchi
ikadzuchi

スコア3047

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