У термінальних програмах важливо точно визначити ширину відображення символів Unicode для коректного вирівнювання та форматування тексту. Однак сучасний текст Unicode має свої складнощі:
Щоб вирішити ці питання, Аарон Франсіс створив бібліотеку Grapheme, яка забезпечує точні, швидкі та ретельно протестовані методи для обчислення ширини відображення будь-якого символа чи кластеру графем у PHP-додатках.
wcwidth()
у сучасних емуляторах терміналів.Щоб встановити цей пакет, скористайтеся Composer:
composer require soloterm/grapheme
Ось кілька прикладів використання пакета:
use SoloTerm\Grapheme\Grapheme;
Grapheme::wcwidth('Я'); // Поверне: 1
Grapheme::wcwidth('文'); // Поверне: 2
Grapheme::wcwidth('😀'); // Поверне: 2
Для отримання додаткової інформації та перегляду вихідного коду відвідайте репозиторій Grapheme на GitHub.