JavaScriptでNFDを結合する
Node.js
code:js
const nfd = '共有できるツールです'
undefined
nfd.split('')
[
'共', '有', 'て',
'゙'ÿ, 'き', 'る',
'ツ', 'ー', 'ル',
'て', '゙'ÿ, 'す'
]
nfd.normalize('NFC').split('')
[
'共', '有', 'で',
'き', 'る', 'ツ',
'ー', 'ル', 'で',
'す'
]
nfd.normalize('NFKC').split('')
[
'共', '有', 'で',
'き', 'る', 'ツ',
'ー', 'ル', 'で',
'す'
]
ブラウザでも動く
https://scrapbox.io/files/6579312cbe6fb5002419a4c2.png
変換にはNFKCを指定した方が良さそう?
NFC
正規化形式 C。正準等価性によって分解され、再度合成される。
NFKC
正規化形式 KC。互換等価性によって分解され、正準等価性によって再度合成される。
そうでもない。NFKCはff等の合字が分解されてしまう code:js
'ff'.normalize('NFC').split('')
'ff'.normalize('NFKC').split('')
'Ⓓ'.normalize('NFC').split('')
'Ⓓ'.normalize('NFKC').split('')