Zakaj starejši števci znakov odpovedo pri sodobnem Unicodeu, emojijih in besedilu iz več pisav
Prva generacija spletnih pripomočkov, kot so starejši števci znakov, zgrajeni v zgodnjih 2010-ih, temelji na primitivni lastnosti `String.prototype.length` v JavaScriptu. Ker JavaScript notranje kodira nize z uporabo kodnih enot UTF-16, je vsak znak zunaj osnovne večjezične ravnine (BMP) – vključno s sodobnimi emojiji, matematičnimi simboli in redkimi ideogrami CJK – predstavljen kot nadomestni par 2 kodnih enot. Poleg tega se sestavljeni emojiji, kot so ikone družin ali modifikatorji odtenkov kože, združeni prek vezajev ničelne širine (`U+200D`), v zastarelih števcih lahko registrirajo kot 5 do 11 znakov, kar povzroča netočné odčitke dolžine na družbenih omrežjih in v podatkovnih bazah.
Multinook rešuje to arhitekturno napako z implementacijo standarda W3C in ECMA-402 `Intl.Segmenter` na ravni gruče grafemov, skupaj z analizatorjem bajtnega pretoka `TextEncoder` za UTF-8. Vsak znak, ki ga zazna uporabnik, se šteje s 100-odstotno natančnostjo, hkrati pa so za programske inženirje in tehnične pisce prikazane surove metrike odtisa bajtov UTF-8 in kodnih enot.

