LINUX.ORG.RU

Об идентификации шрифта по Font Family

 


0

1

Перебираю шрифты в папке /usr/share/fonts/truetype и обнаружил «конфликты» в имени семейства шрифтов. Делаю так - читаю имена свойства FontFamily шрифта и заношу все найденные семейства в хэш, ключами которого являются имена семейства, а значением - путь к шрифту. Сделал небольшую модификацию, с помощью которой анализирую свойства BOLD и ITALIC, и на основе этих свойств меняю ключи хэша, дописывая к ним соответствующие модификаторы (-B и -I).

И как бы нашёл две проблемы. Первая проблема, это совпадающие семейства у двух разных шрифтов - fonts-japanese-gothic.ttf и takao-gothic.ttf.

Вторая проблема - семейство шрифтов Kinnari, у каждого из шрифтов есть по два начертания Italic.

По сути - неприятная мелочь, которая давно решена на уровне библиотек. Но вот так случилось что мне приходится хранить таблицу шрифтов для своих задач. Поскольку привязку шрифтов сделал по образу и подобию Windows, в которой шрифты идентифицируется по FamilyName и свойствам Bold и Italic, то всё работает корректно до тех пор, пока не встречаются различные шрифты у которых совпадают эти свойства. А вот точный список шрифтов, у которых совпадают Family Name. Собственно вот об этих именах я говорил:

Hash key dupliicatio: 呡歡潐䝯瑨楣
	/usr/share/fonts/truetype/fonts-japanese-gothic.ttf
	/usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf
Hash key dupliicatio: 呡歡潐䝯瑨楣
	/usr/share/fonts/truetype/fonts-japanese-gothic.ttf
	/usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf
Hash key dupliicatio: TakaoPGothic
	/usr/share/fonts/truetype/fonts-japanese-gothic.ttf
	/usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf
Hash key dupliicatio: Takao Pゴシック
	/usr/share/fonts/truetype/fonts-japanese-gothic.ttf
	/usr/share/fonts/truetype/takao-gothic/TakaoPGothic.ttf
Hash key dupliicatio: 䭩湮慲�-B-I
	/usr/share/fonts/truetype/tlwg/Kinnari-BoldOblique.ttf
	/usr/share/fonts/truetype/tlwg/Kinnari-BoldItalic.ttf
Hash key dupliicatio: Kinnari-B-I
	/usr/share/fonts/truetype/tlwg/Kinnari-BoldOblique.ttf
	/usr/share/fonts/truetype/tlwg/Kinnari-BoldItalic.ttf
Hash key dupliicatio: 䭩湮慲�-I
	/usr/share/fonts/truetype/tlwg/Kinnari-Oblique.ttf
	/usr/share/fonts/truetype/tlwg/Kinnari-Italic.ttf
Hash key dupliicatio: Kinnari-I
	/usr/share/fonts/truetype/tlwg/Kinnari-Oblique.ttf
	/usr/share/fonts/truetype/tlwg/Kinnari-Italic.ttf
Hash key dupliicatio: 乯牡獩-B-I
	/usr/share/fonts/truetype/tlwg/Norasi-BoldOblique.ttf
	/usr/share/fonts/truetype/tlwg/Norasi-BoldItalic.ttf
Hash key dupliicatio: Norasi-B-I
	/usr/share/fonts/truetype/tlwg/Norasi-BoldOblique.ttf
	/usr/share/fonts/truetype/tlwg/Norasi-BoldItalic.ttf
Hash key dupliicatio: 乯牡獩-I
	/usr/share/fonts/truetype/tlwg/Norasi-Oblique.ttf
	/usr/share/fonts/truetype/tlwg/Norasi-Italic.ttf
Hash key dupliicatio: Norasi-I
	/usr/share/fonts/truetype/tlwg/Norasi-Oblique.ttf
	/usr/share/fonts/truetype/tlwg/Norasi-Italic.ttf
Hash key dupliicatio: 啭灵獨
	/usr/share/fonts/truetype/tlwg/Umpush.ttf
	/usr/share/fonts/truetype/tlwg/Umpush-Light.ttf
Hash key dupliicatio: Umpush
	/usr/share/fonts/truetype/tlwg/Umpush.ttf
	/usr/share/fonts/truetype/tlwg/Umpush-Light.ttf
Hash key dupliicatio: 啭灵獨-I
	/usr/share/fonts/truetype/tlwg/Umpush-Oblique.ttf
	/usr/share/fonts/truetype/tlwg/Umpush-LightOblique.ttf
Hash key dupliicatio: Umpush-I
	/usr/share/fonts/truetype/tlwg/Umpush-Oblique.ttf
	/usr/share/fonts/truetype/tlwg/Umpush-LightOblique.ttf

А вопроса тут как бы и нет, скорее ворчание по поводу несовместимости с Microsoft. Интересно, у Apple в OS X тоже такое встречается?

★★★

Последнее исправление: alman (всего исправлений: 1)

Интересно, у Apple в OS X тоже такое встречается?

И гораздо чаще.

alman ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.