Детерминированный способ найти, какие установленные шрифты поддерживают данный символ Unicode или скрипт?

1089
hippietrail

Как энтузиаст языков и систем письма, я часто сталкиваюсь с проблемой:

У меня установлено много шрифтов, и многие поддерживают несколько или несколько систем письма (скриптов) для разных языков. (Моя ОС - Windows 7)

Иногда я хочу точно знать, какое подмножество установленных мной шрифтов поддерживает определенную систему письма или определенный символ.

Как я могу получить список шрифтов в моей системе для строки / символа / языка / системы письма?

Я бы принял сайт, который можно проверить, инструмент, уже включенный в Windows 7, инструмент, который мне нужно скачать, и т. Д.

(Я понимаю, что некоторые шрифты могут содержать символы, но не имеют достаточно данных, чтобы правильно отобразить слова. Я согласен с этим и аналогичными ограничениями.)

1

2 ответа на вопрос

0
Romeo Ninov

For list of all installed fonts in windows you ca use command:

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts" 

To list only truetype fonts you can use something like:

reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts"|findstr TrueType 

If you want to see all nontruetype fonts use findstr on this way:

...|findstr -v TrueType 
Получить полный список шрифтов очень просто. Получить список шрифтов, которые поддерживают кхмерский сценарий или символ `ក` (без возврата к другому шрифту, так как это означает десятки или сотни дубликатов), нелегко. Извиняюсь, если мой вопрос не ясен, всегда есть компромисс между включением достаточного количества информации, чтобы препятствовать неточным ответам и заканчиванием с tl; dr) -: hippietrail 9 лет назад 0
@hippietrail, проверьте, может ли это вам помочь: http://stackoverflow.com/questions/1439551/get-supported-characters-of-a-font-in-c-sharp Romeo Ninov 9 лет назад 0
Это на самом деле задавать обратный вопрос. Мне нужен список шрифтов, которые поддерживают скрипт или символ, вопрос в том, чтобы получить список символов, которые поддерживает шрифт. Конечно, вы могли бы сделать это для каждого установленного шрифта, но мне нужен инструмент, который перебирает все шрифты для меня, поэтому мне не нужно выполнять работу - для этого и нужны компьютеры (-: hippietrail 9 лет назад 0
Здесь я нахожу несколько программ, которые проверяют наличие определенного символа в шрифте: http://stackoverflow.com/questions/103725/is-there-a-way-to-programatics-determine-if-a-font-file-has-a -specific-unicode Это вы ищете? Romeo Ninov 9 лет назад 0
Я на самом деле нашел инструмент, который может делать то, что я хочу, несколько неуклюже [в другой публикации Stack Overflow] (http://stackoverflow.com/a/7685790/527702). hippietrail 9 лет назад 0
Я видел этот инструмент, но я понял, что вы хотите выполнить задачу из командной строки :) Romeo Ninov 9 лет назад 1
0
hippietrail

I found an old tool from 2007 that has this feature, somewhat hidden:

CharMapEx can be downloaded from a post in the blog "Internationalization Cookbook".

  1. First you will need to find the Unicode hex code of the character, or beginning of the Unicode script range.
    This doesn't seem to be included in the tool but one way to find it is to do a Google search including the character you're looking for plus the keyword "fileformat". The fileformat.info site will give you the code.

  2. Use the toolbar of CharMapEx to go to the range.

  3. Whether the default loaded font includes the character or not there will be a box for your character. If the character is not included the box will be red but may still have the character rendered in a fallback font.

  4. Right-click on the box for your character, even if it just has a square box or question mark, etc. You will see a pop-up menu.

  5. Select "Find font containing glyph" from the popup menu.

  6. A dialog will now open containing a list of the names of all your locally installed fonts which contain a glyph for this character. You can't copy and paste the list unfortunately but you can click on any item and the display will be updated with that font.