Показать полную графическую версию : [решено] символ по умолчанию в шрифте
Здравствуйте все. Может не совсем по ту тему форума выбрал, если что, переведите, куда правильно... Вот есть шрифт *.fon, сделанный при помощи Sib Font Editor. Выбираем его в блокноте, открываем файл с нецензурными символами типа \r\n и др. Обычно вместо них должны быть квадраты, а здесь рисуются @ собаки. Вывод: символ по умолчанию можно назначить. Я прав? Как это сделать?
символ по умолчанию можно назначить. »да
Как это сделать? »вас интересует иммено fon шрифты? или ttf ?
Именно FON. Но если про TTF тоже расскажешь - будет более полное и интересное знание :)
если про TTF »так же как и FON , только программа другая.
общий принцип - шрифт это набор картинок (называются глифы, у fon - растровые, у ttf - векторные) + таблица соответствия "какой глиф для какого unicode буквы использовать"
собственно правка может быть двух видов
- рисовать в нужных глифах
- изменить таблицу соответствия "какой глиф для какого unicode буквы использовать"
для fon удобнее первый вариант.
скрины сделаны в программе BitFonter 3
для к примеру стандартного XP'шного шрифта Fixedsys (файл c:\WINDOWS\Fonts\vgafixr.fon)
умолчальный глиф, который используется для "символа, для которого нет определённого глифа" находится под индексом (произвольный номер глифа, сам по себе ни на что не влияет) 96, напоминает русскую букву "Б" и призван отвечать за юникодный символ afii10051 за номером 0402.
http://i11.fastpic.ru/thumb/2010/1109/33/1bcc18b1311d1319328e6adca2d22333.jpeg (http://fastpic.ru/view/11/2010/1109/1bcc18b1311d1319328e6adca2d22333.png.html)
вот иллюстрация его использования в просмотрщике TC - на месте, где у бинарника код не имеет однозначной буквенного соответсвия - используется символ Ђ
http://i11.fastpic.ru/thumb/2010/1109/68/f55cc09df6f2107a777ba96c6c6b2568.jpeg (http://fastpic.ru/view/11/2010/1109/f55cc09df6f2107a777ba96c6c6b2568.png.html)
редактируем глиф в битфонтереhttp://i11.fastpic.ru/thumb/2010/1109/54/e9f33b22747746098c68b022916fa554.jpeg (http://fastpic.ru/view/11/2010/1109/e9f33b22747746098c68b022916fa554.png.html) сохраняем, перезагружаемся.
и теперь в качестве "неизвестного символа" используется не левейший Ђ а квадратик
http://i11.fastpic.ru/thumb/2010/1109/ef/9a2a7338f704a6b7e429f4c4056a17ef.jpeg (http://fastpic.ru/view/11/2010/1109/9a2a7338f704a6b7e429f4c4056a17ef.png.html)
хотя идеологически это и не верно - с точки зрения системы она хочет показать именно Ђ но из-за прихоти глифорисовальщика показывется квадратик.
не исключено, что для разных fon шрифтов "умолчальный символ" может иметь разное unicode значение, не обязательно afii10051.
В вашем случае в шрифте скорее всего два глифа @ - один "настоящий @" а второй "умолчальный символ"
Так я ведь весь шрифт руками рисовал (256 - 32 глифа), там собака ровно один раз, и она именно на своём месте
вот он
pva, попробуйте, вроде получилось
на всякий случай пересохраните шрифт через свою программу
архив не открылся :( сделай через зип, пожалуйста
получилось!! урааа!! :yahoo: Правда файл стал в 1.7 раз больше. Сейчас буду искать 10 отличий. Amigos, БОЛЬШУЩЕЕ спасибо!
Нашёл ещё вот что:
http://support.microsoft.com/kb/65123
Там есть байт, отвечающий за этот самый символ. Обычно он равен 0x78, а у меня был 0x20. Пропатчил - всё стало красиво как в сказке
файл стал в 1.7 раз больше » скорее всего какая то из особеностей битфонтера.
я тоже замечал, что при пересохранении дефолтных xp'шных fon файлов размер увеличивается, даже если ничего не делать.
и просил пересохраните шрифт через свою программу » с целью узнать, не уменьшится ли размер шрифта до оригинального значения.
а для fon файлов размер имеет значение - если размер превышает ≈110 килобайт, XP не может его использовать :(
Он внутри уложил все буквы по 16 бит вместо 8, поэтому размер увеличился. Ресурсы сохранил как 32-битные, а не 16-битные. Ещё у Sib Font Editor-а есть глюк: при сохранении теряется один байт, поэтому все символы сдвигаются вверх на пиксель. Пришлось править вручную. В принципе у меня есть идея как сделать конвертер bmp -> fon (лишённый глюков). Пока острой необходимости нет, да и триал у Sib*** не кончился.
pva, я вот стеснялся спросить, а зачем в 2010 году рисовать Fon шрифт?
уложил все буквы по 16 бит вместо 8 »ну дык unicode же :)
Ресурсы сохранил как 32-битные, а не 16-битные. »получается, что дефолтные fon шрифты в XP тоже в виде 16 битных бинарников, а не 32 битных?
ну дык unicode же »
Не, не коды символов уложил, а рисунки. Т.е. если были рисунки 8x14, то стали 16x14, причём оставшаяся часть закрашена нулевыми битами
Про битность что-то я запутался. Они по ходу дела оба 16-битные.
http://support.microsoft.com/kb/76535
МСДН-у как-то можно вталдычить, что я его по-английски читать хочу, а не машинно-переведённый с китайским акцентом?
Morpheus
11-11-2010, 00:31
МСДН-у как-то можно вталдычить, что я его по-английски читать хочу, а не машинно-переведённый с китайским акцентом? »
А он-то тут причём? Если речь про MSKB, то наверху странички есть ссылка на смену региона, ставим там США и закрываем браузер. При следующем открытии должен быть инглиш. Куки должны быть включены, там про это написано.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.