Есть ли способ проверить, какие шрифты установлены на компьютерах через Интернет? - PullRequest
5 голосов
/ 03 июня 2009

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

Ответы [ 8 ]

10 голосов
/ 03 июня 2009

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

http://www.lalit.org/lab/javascript-css-font-detect

3 голосов
/ 03 июня 2009

Это возможно, пока доступна Flash. Смотри http://www.maratz.com/blog/archives/2006/08/18/detect-visitors-fonts-with-flash/

2 голосов
/ 04 июня 2009

Оформить заказ для плагина jQuery FontUnstack , из этого вопроса .

1 голос
/ 13 июля 2010

Вы можете получить список шрифтов, установленных в клиентской ОС с Flash:

var embeddedAndDeviceFonts:Array = Font.enumerateFonts(true);

Затем вы можете использовать ExternalInterface для перемещения этой информации между Flash и Javascript. Не требует большого количества кода.

Проверьте мой пост об этом для получения дополнительной информации и демонстрационная реализация .

1 голос
/ 04 июня 2009

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

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

Я бы настоятельно рекомендовал против предлагаемого вами подхода к опросу / развертыванию. Вам предстоит принять несколько невозможных решений, например, какой процент доступности будет приемлемым? Если это 100%, что вы делаете, когда приходит новый пользователь, у которого нет этого шрифта? Если это не так, то какая доля ваших пользователей вас устраивает, если у вас плохой опыт?

Рассматривали ли вы sIFR или просто элемент изображения с соответствующим атрибутом alt?

Если у вас есть конкретные типографские требования, возможно, стоит обратить внимание на это: http://blog.typekit.com/.

1 голос
/ 03 июня 2009

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

0 голосов
/ 03 июня 2009

Я знаю, что это поддерживается не всеми браузерами, но в css есть @ font-face, как описано здесь , поэтому, если вы знаете, что ваши пользователи используют IE (например), вы можете использовать это для получить шрифт.

0 голосов
/ 03 июня 2009

Нет хорошего способа сделать это. Хотя, если у вас есть список шрифтов, которые вас интересуют, создайте класс с всегда присутствующим запасным вариантом:

span#knownfont{font-family:Verdana, font-size:12px;}
span#font1{font-family:NonExistingFont1, Verdana, font-size:12px;}
span#font2{font-family:NonExistingFont2, Verdana, font-size:12px;}

...

Then create HTML for each case:
<span id="knownfont">Lorem ipsum dolor sit amet</span>
<span id="font1">Lorem ipsum dolor sit amet</span>
<span id="font2">Lorem ipsum dolor sit amet</span>

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...