Отображать символы полной ширины с точностью в два раза длиннее символов ширины? - PullRequest
1 голос
/ 28 августа 2011

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

Пишу отформатированный txt-гид.Пожалуйста, взгляните на этот отрывок: http://mad -gaksha.homelinux.net / public / width.txt .Мне нужно, чтобы отображались символы полной ширины, чтобы они занимали ровно вдвое больше места, чем символы половинной ширины.В то время как моноширинные шрифты, кажется, работают нормально только с символами половинной ширины, большинство пробных шрифтов «фиксированной ширины», которые я пробовал, не дали желаемого результата.

В Firefox это работает, когда я устанавливаю моноширинныйшрифт (Edit> Preferences> Content> Advanced) для "моноширинный".Но только для шрифта размером 14. То же самое с gedit, шрифтом фиксированной ширины MS-Gothic, работает только для шрифтов размером 13 / 14.

Как я считаю, это поведение довольно странное и не оченьхотите, чтобы мои читатели были обеспокоены техническими подробностями, есть ли у кого-нибудь предложения или какие-либо ресурсы, или они могли бы объяснить, что здесь происходит?Почему так сложно отображать каждый глиф с фиксированным размером?

Заранее спасибо, что нашли время.

1 Ответ

0 голосов
/ 28 августа 2011

Похоже, это связано с округлением дробных пикселей.

Средство визуализации шрифта может корректировать горизонтальное расположение, когда ширина глифа не является целым числом пикселей экрана.Я полагаю, что рендеринг Cairo, используемый gedit и Firefox в Linux, не выполняет субпиксельное позиционирование шрифтов, поэтому это может быть необходимо здесь.

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

Обратите внимание, что в Windows для большинства небольших размеров шрифты, такие как MS Gothic, будут отображаться с использованием пользовательских встроенных растровых изображений в файле шрифта вместо рендеринга контуров и их метрик.Это делает все глифы обязательно фиксированным числом пикселей в ширину.Однако это приводит к типичному старую «рваную» манеру рендеринга.

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

Я бы согласился с комментарием Клемента о том, что использование HTML для получения нужного рендеринга будет болееНадежный, современный и удобный.Использование HTML для разметки освобождает вас от необходимости беспокоиться о выравнивании символов и позволяет получать шрифты, которые менее уродливы, чем вся эта латиница с шириной в половину ширины.

...