Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Font.hasGlyphs() не определяет наличие символов вообще (http://www.flasher.ru/forum/showthread.php?t=203295)

AlexLucas 13.09.2013 13:20

Font.hasGlyphs() не определяет наличие символов вообще
 
Доброго времени суток и с Днём Программиста!
Есть такой код
Код AS3:

var fontArray:Array = Font.enumerateFonts(true);
                        var font:Font = fontArray[74];
 
                        trace(font.hasGlyphs('a') + ' ' + font.fontName); //false Arial

Т.е. отсюда следует, что в шрифте Arial который у меня в системе присутствует, нет буквы 'a'.
И вообще никаких символов нету. Если подцепить (embed) шрифт к приложению, hasGlyphs начинает определять наличие символов как следует.
Но т.к. шрифтов устройства у меня лично на машине набирается на 562 метра, их всех цеплять к приложению не логично, как и само поведение hasGlyphs (имхо).

Может кто знает в чём дело ?
Конечная цель - определить есть ли такой-то символ в шрифте.

Wolsh 13.09.2013 14:03

Вообще то странно, что в справке об этом не написано, но имхо поведение вполне предсказуемо — откуда флэш-плееру знать, что там есть а чего нет в шрифтах устройства? Со своим-то хозяйством он конечно разберется, все внутри и отсортировано. А шрифт в системе флэш-плеер никак не может прошустрить, нет у него средств для работы со шрифтами, которые не в его собственном формате.

AlexLucas 13.09.2013 14:08

Пользоваться я этими шрифтами могу и без встраивания, я и предположил что можно определить какие символы есть/нет в них также без встраивания.
Но если всё так вы описали, то как же быть ?
Я пытаюсь сделать нечто вроде Insert Special Symbols как в ворде/open office вритере, вот и нужны все доступные символы для выбранного шрифта во всех кодировках.

Wolsh 13.09.2013 14:30

Цитата:

Пользоваться я этими шрифтами могу и без встраивания
Конечно, только показывает их не флэш плеер, а Система. Поэтому Вы не можете управлять тонкими настройками отображения невстроенных шрифтов, типа сглаживания.
Ну а зачем Вам определение "есть/нет" в данном случае? Не говоря уже о том, что многие шрифтоделы забивают какой-нибудь свой логотип или просто плашку-рамочку в те глифы, которые им было лень рисовать))) Ваше-то дело, как я понимаю, показать табличку со всеми символами, и если каких-то нет или они просто тупые прямоугольнички, юзер сам это увидит. А для этой таблички Вам нужен только генератор юникодов и текстфилды.

AlexLucas 13.09.2013 14:40

Мне уже это советовали, видимо так и сделаю.
Ещё не взялся выбирать кодировки которые пригодятся, одних иероглифов туча, и если будет такая же туча квадратиков, будет некрасиво. Придётся ограничить набор символов. хотя с другой стороны листать список в 100к+ символов (судя по спецификации их там нехило больше) тоже не вариант.ъ
Спасибо.

Wolsh 13.09.2013 14:42

А в ворде разве сделано не с помощью меню, в котором указаны диапазоны на выбор? Ну типа "греческие", "математические" и т.п.?

AlexLucas 13.09.2013 14:50

Там они всем вместе в одной таблице, при выборе набора (subset?) таблица просто скролится туда где начинаются символы из этого набора.

Wolsh 13.09.2013 14:53

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


Часовой пояс GMT +4, время: 20:44.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.