На самом деле все символы являются Unicode, по крайней мере, с точки зрения движка Javascript.
К сожалению, простого присутствия символов в определенном диапазоне Юникода недостаточно, чтобы определить, что вам нужно больше места. Есть ряд символов, которые занимают примерно столько же места, что и другие символы, у которых кодовые точки Unicode намного выше диапазона ASCII. Типографские кавычки, символы с диакритическими знаками, некоторые знаки пунктуации и различные символы валюты находятся за пределами диапазона низких значений ASCII и размещаются в совершенно разных местах на базовой многоязычной плоскости Unicode.
Как правило, проекты, над которыми я работал, выбирают предоставление дополнительного пространства для всех языков или иногда используют javascript, чтобы определить, действительно ли окно с атрибутами css для полосы прокрутки имеет содержимое с высотой, которая могла бы вызывать полосу прокрутки или нет.
Если обнаружения наличия или количества символов CJK будет достаточно, чтобы определить, что вам нужно немного дополнительного пространства, вы можете создать регулярное выражение, используя следующие диапазоны:
[\ u3300- \ u9fff \ uf900- \ ufaff], и используйте его для извлечения количества совпадающих символов. (Это немного грубовато и пропускает все случаи, не связанные с BMP, возможно, исключает некоторые другие соответствующие диапазоны и, скорее всего, включает некоторые не относящиеся к делу символы, но это отправная точка).
Опять же, вы только сможете управлять грубой эвристикой без чего-либо, похожего на движок полнотекстового рендеринга, потому что вам действительно нужно что-то вроде MeasureString GDI (или аналога любого другого движка рендеринга текста). Прошло много времени с тех пор, как я это сделал, но я думаю, что ближайшим эквивалентом HTML / DOM является установка ширины для div и запрос высоты (повторное использование вырезать и вставить, поэтому извиняюсь, если в нем есть ошибки):
o = document.getElementById("test");
document.defaultView.getComputedStyle(o,"").getPropertyValue("height"))