Востаннє, коли я шукав це (для гри на iPhone), я спробував різні варіанти, але не зміг знайти жодного, який зробив би все, що я хотів. Мені потрібно було зобразити одну текстуру, використовуючи дуже маленькі символи з комерційного шрифту TTF. Мені потрібно було вміти задавати діапазони символів, щоб він містив лише потрібні мені символи. Я хотів, щоб він запакував гліфи якомога міцніше. Мені потрібні текстурні координати під час виконання. Мене не хвилювало "справжнє" кернінг, але мені потрібні вимірювання гліфів під час виконання, щоб це було розумно розподілено. Тому я написав невеликий додаток для Windows, який виводив усі символи та зберігав проміжки ABC (як повідомляє Windows) разом із текстурними координатами.
BTW, якщо ви хочете вивести дуже невеликий текст (наприклад, менше 16 пікселів) під XP або Vista, у вас виникнуть недоліки з антизбудженням Windows. Простим виправленням для мене було використання http://drwatson.nobody.jp/gdi++/index-en.html, щоб отримати прозорий надсимплінг. Якби я починав з початку, я, мабуть, застосував би той самий підхід, але подивився б на FreeType2 замість вітчизняного відображення тексту.
Якщо ваш текст не оновлюється часто, ви можете просто використовувати візуалізацію тексту платформи (або, можливо, FreeType), щоб надати цілі фрагменти текстури в міру необхідності під час виконання. Тоді вам просто потрібно зробити один квадратик для кожного рядка, але розподіл текстури ускладнюється. Тим не менше, ви отримуєте бездоганне візуалізацію та розміщення тексту безкоштовно на цих складних азіатських мовах разом із вашим значно швидшим GL-кодом. Відображення безлічі окремих символів коштує дорого, навіть із виродженими трьома смужками чи що.