Дизайн-вопрос: как выбрать шрифт

У меня на главной странице давно висит такой текст:

Веду рубрику «Дизайн-вопрос». Отвечаю на вопросы о дизайне и смежных областях. Не халтурю, не пишу отписки и отвечаю на совесть: частенько для ответа приходится найти, прочитать и изучить исследования, рекомендации, набрать и подобрать иллюстрации или примеры. Вопросы пишите на [email protected].

Я не думал, что кто-то его вообще видит, но на днях получил неожиданный вопрос. Что ж. Назвался груздем — полезай в кузов.

Матвей Правосудов спрашивает:

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

В принципе, я понимаю, почему нельзя было в том случае использовать антикву или акциденцию, но вот почему я решил взять именно такую гарнитуру — не знаю.

Вопрос:
Расскажи, пожалуйста, как научиться осознано подходить к выбору гарнитуры и уметь доказывать, что именно она нужна?

Матвей!

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

Системный шрифт

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

Системный — разный везде

Первый — системный шрифт означает разный внешний вид на разных платформах.

Для получения некоего «системного шрифта» недостаточно просто вписать Ариал. Ариала нет на маке, компьютерах с линуксом и мобильных. Если на этих платформах есть целевые пользователи, то кроме Ариала для них понадобится другой шрифт: Робото для андроида, Сан-Франциско для макос и айос, какой-нибудь sans-serif для линуксов (Опенсанс, Либерейшен или какой-нибудь Дежавю).

На нативный стэк перешел, например, Бутстрап:
getbootstrap.com/docs/4.1/content/reboot/#native-font-stack.

Атлассиан тоже перешел: Typography

По своей идее на «системный шрифт» похож native font stack. По сути это самый родной шрифт на каждой из платформ. Вот как это выглядит в виде CSS-кода:

$font-family-sans-serif:
  // Safari for OS X and iOS (San Francisco)
  -apple-system,
  // Chrome < 56 for OS X (San Francisco)
  BlinkMacSystemFont,
  // Windows
  "Segoe UI",
  // Android
  "Roboto",
  // Basic web fallback
  "Helvetica Neue", Arial, sans-serif,
  // Emoji fonts
  "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol" !default;

Нативный стэк выглядит везде по-разному и местами эти отличия существенны. Даже не каждый дизайнер заметит разницу между Ариалом, Робото и Сан-Франциско. А вот Сан-Франциско и Сегой отличаются между собой сильней, из-за этого разницу могут увидеть больше людей.

Интерактивный пример: https://jsfiddle.net/mikeozornin/3q0hLgpk.
Веб-шрифты не подключены, потребуется установить оба шрифта локально

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

Сегой и Робото

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

Каждая поддерживаемая платформа это дополнительный системный шрифт, который нужно перепроверить и при необходимости адаптировать. Лишний код на адаптацию: компенсация пиксельных отступов, размеров глифов, — это лишнее визуальное тестирование. Можно обойтись и без тестирования, но тогда будет выглядеть «как получится». Общий шрифт снимает бо́льшую часть этих вопросов.

Такие аргументы особенно понятны разработчикам и инженерам по качеству. Им бы вообще лишь бы что-то везде сделать одинаковым, чтобы не ломалось в будущем :—)

Системный — без своего «Я»

Шрифт Яндекса — Yandex Sans — рассказ Кости Горского о том, зачем и как делали фирменный шрифт Яндекса. Костя был в то время дизайн-директором Яндекса

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

Отсутствие своего языка — одна из главных, почему, например, Яндекс начал разрабатывать свой шрифт. Они хотели с помощью шрифта усилить «язык Яндекса».

Конкретно Ариал — не очень

Третий минус конкретно у ариала. Он не очень хороший (но это мало кто заметит) и у него может быть не хватить начертаний. Если вы захотите тонкое начертание, то ариал вам не помощник.

Вместо вывода

Типографика в гайдах Контура

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

Как выбрать свой шрифт

Как выбирать шрифт вообще, если брать не только системные. Если коротко: я сам не знаю. Это непросто и я не уверен, что я тот самый человек. Я нечасто это делаю, но у меня как-то сложился такой алгоритм.

1. Формулирую требования

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

Про функцию, эстетику и доступность я писал в посте Дизайн-вопрос: зачем в мире столько шрифтов

Я отталкиваюсь от следующих областей: функция, эстетика, доступность.

Я нашел свои записи, которые писал несколько лет назад, когда мы выбирали шрифт для продуктов. Вот:

Функция

  1. Начертания
    Минимум: Обычное, полужирное, тонкое (все с курсивом), хорошо если больше.
  1. Набор цифр
    Есть маюскульные цифры, минускульные опциональны. Есть пропорциональные и моноширинные цифры (скорей всего это есть у всех), моноширинные дефолт.
  1. Хорошая читаемость
    Лучше открытый или полуоткрытый шрифт с высоким x-height. Хорошо бы иметь форму 6 и 9 как в Авенире и Лато, а не как в Гельветике (иногда доступны Opentype-фичей Straight-sided six and nine). Должен хорошо читаться даже на плохих экранах с TN-матрицей.
  1. Универсальный
    Было бы хорошо, чтобы он хорошо работал и в печатной продукции (руководства, отчеты, маркетинговые материалы). Вдруг мы сможем использовать его и там.
  1. Высокая емкость
    В наших продуктах много данных, поэтому хорошо бы, чтобы шрифт не был слишком широким.

Эстетика

  1. Чистый.
  1. Простой, но не упрощенный.
  1. Выглядит технологично.
    Создаёт ощущение технологий и хай-тека, а не теплой ламповости или стимпанка (как Текстбук, Гилл или 20 копеек).
  1. Нормальная кириллица.
  1. Не должен казаться очень чужеродным, создавать из-за непривычности ощущение халтуры.

Доступность

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

У вас требования могут быть другие.

У кого-то будет другая эстетика: не строгая технологичность, а детская няшность, ощущение швейцарии или теплая ламповость.

paratype.livejournal.com/58340.html о создании шрифтов PT Astra

У кого-то будут другие требования к функции: кто-то предпочтет узнаваемость и уникальность в угоду считываемости. У кого-то будут очень строгие требования к емкости шрифта. Именно из-за особых требований к емкости шрифта родились шрифты PT Astra.

Другие фирменные шрифты:
YouTube
Airbnb
Uber
Государственные системы России

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

  1. Шрифт должен иметь своё лицо, отличаться от конкурентов.
  2. И в то же время быть спокойным, нейтральным, не слишком характерным.
  3. Выражающим наши ценности:
    открытый,
    современный,
    умный,
    нейтральный,
    локальный,
    технологичный, но с человеческим лицом.
  4. Сделанным в первую очередь для кириллического набора.
  5. Очень хорошо читаемым, разборчивым и применимым во всех современных средах.
  6. Совпадающим по основным метрикам и пропорциям с Ариалом.
  7. Имеющим несколько степеней насыщенности.

Отсюда: https://medium. com/@k00/шрифт-яндекса-yandex-sans-1c2ab7dfd537

Или вот требования от которых отталкивались при разработке шрифта для интерфейса государственных систем России (ещё не вышел):

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

  • Высокие прописные;
  • Очень крупные строчные;
  • Большая ёмкость, т. е. знаки скорее узкие, чем широкие;
  • Просторные межбуквенные расстояния с расчётом на экран не слишком высокого разрешения;
  • Короткие выносные элементы, чтобы экономить место на служебных панелях и кнопках;
  • Скорее гротеск, чем антиква;
  • Скорее открытый или полуоткрытый;
  • Технически подготовленный для работы на экране.

Эти параметры, в общем, не имеют отношения к характеру шрифта, но в рамках жанра должны выдерживаться. Можно привести примеры интерфейсных шрифтов: Lucida Grande, Segoe UI, Roboto, San Francisco UI и т. д.

Отсюда: https://leksandra.livejournal.com/120045.html

Один из авторов шрифта Yandex Sans Кристиан Шварц в своей лекции про шрифты рассказывает как они искали форму шрифтов для разных компаний. Показателен пример ДойчеБана (немецких железных дорог). Кристиан с командой долго не могли ничего придумать. В какой-то момент решили начать с расписания, ключевой вещи. И они сделали цифры, которые в этом расписании хорошо различаются. И именно эта различимость букв стала основной будущего шрифта:

Лекция Кристиана Шварца (начало дойчебана с 16:25).
001. Making something out of something: Typefaces, history, culture, and meaning

2. Собираю таблицу

После этого я составляю таблицу шрифтов, которые подходят по формальным признакам, пишу им какие-то плюсы и минусы. Каким-то образом выделяю те, которые нравятся больше и те, которые нравятся меньше.

Таблица выглядит как-то так:

ШрифтПлюсыМинусыЦенаКакие-то комментарии
График
Лато
Робото
Фира

Про проблемы с кириллицей в Гугл.Фонтсе я писал в посте: Гугл.Фонтс и кириллица

Шрифты с Гугл.Фонтс нужно я дополнительно проверяю:

  • стоит ли вообще брать в руки этот шрифт. Черный и серый список я смотрю в бизнес-линче Таисии Лушенко
  • не забыл ли Гугл кириллицу, часто она есть: Гугл.Фонтс и кириллица.

3.

Смотрю в деле

Скачиваю и устанавливаю шрифты (для бесплатных), платные беру в аренду или ищу в библиотеке. После установки проверяю их в деле: меняю в макете, плакате, брошюре или интерфейсе. Для веб-интерфейсов я пишу юзерстиль (userstyle) в браузере, где меняю шрифт на новый. После этого начинаю пользоваться продуктом как обычно.

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

Вот некоторые советы Ани Даниловой на сайте бюро:

  • про аренду шрифтов
  • про шрифты из библиотеки
  • где искать шрифт

4. Выбираю доступные

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

Как убедить команду в выбранном шрифте

Алгоритма как убедить у меня нет. Мне не приходилось много спорить о шрифтах с недизайнерами. Мои собеседники соглашались с результатом (картинкой), или мне верили заранее, или мои объяснения (все 4 шага), помогали.

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

Мне кажется ключевое в «убеждении» — отсутствие этого убеждения. Если не пытаться убедить, а настроить себя на помощь своему слушателю, сформулировать миссию наподобие «помочь человеку вместе с тобой принять взвешенное решение о выборе шрифта», то и убеждение пройдет легче.

Надеюсь чем-нибудь помог. Пишите, если остались вопросы.

В заключение оставлю разные шрифтовые доклады, которые мне кажутся подходящими к теме поста:

  • 001. Making something out of something: Typefaces, history, culture, and meaning
  • 001. Типографика Яндекса — Илья Рудерман
  • Introducing the New System Fonts (WWDC 2015)
  • Typography and Fonts (WWDC 2016)

DOCTYPE и кириллица — HTML и CSS — Форумы SitePoint

Форумы SitePoint | Сообщество веб-разработки и дизайна

танцы_матильда

#1

Привет,
Хочу написать чистые xhtml страницы под кириллицу и не могу найти как какой DOCTYPT использовать и какой тег в шапке для языка.

Я просто меняю EN в DOCTYPE на RU?
Что лучше сделать понятным, что это кириллица в шапке страницы?

Спасибо за ответы и советы.
Танцующая Матильда

Ральф

#2

танцующая_матильда:

Я просто меняю EN в DOCTYPE на RU?

Я думаю, что это правильно, но я не буду на этом ругаться. Я определенно видел это раньше:

  dtd">
[COLOR="Красный"][/COLOR]
 

Вот очень старая, но все еще полезная ветка на эту тему, которая может оказаться полезной:

Форумы SitePoint

Форумы SitePoint

Сообщество веб-дизайнеров и разработчиков для обсуждения всего, от HTML, CSS, JavaScript, PHP до Photoshop, SEO и многого другого.

система

#3

здесь речь идет о кодировке, а не о DTD.

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

, тогда вам нужно заставить сервер отправлять соответствующую информацию о кодировке: директивы AddType или AddDefaultCharset для Apache. при этом строка в заголовке HTTP будет выглядеть так: Content-Type: text/html; кодировка=utf-8. как вы увидите, также рекомендуется поместить эту информацию заголовка в раздел заголовка на вашей странице.

и, наконец, вы должны включить их на свою страницу:


<голова>



 

вы можете использовать более мелкую кириллицу, например, iso-8859-5 или windows-1251, но utf-8 является более безопасным вариантом.

Stomme_poes

#4

noonope прав: и вы НЕ меняете «EN» в типе документа!
Это не часть набора символов. Вместо этого это связано с опубликованным языком DTD.

Держите тип документа таким же, как на любой западной, азиатской или любой другой странице, и установите свой язык, как сказал noonope: с атрибутом lang в теге HTML (или также с атрибутами xml: lang, если вы пишете XHTML), мета content-lang и, самое главное, на вашем сервере (если сервер и ваши метатеги конфликтуют, сервер побеждает).

Наконец, единственное, о чем noonope не упомянул, это сохранение вашего документа также в UTF-8 (или меньшей кодировке, если вы выберете другую кодировку — просто держите их все совместимыми друг с другом). Если редактор документа сохраняет в какой-то другой кодировке, а сервер пытается отправить в другой кодировке, пользователь увидит много ??? везде.

, вы можете использовать более узкую кодировку, например iso-8859-5 или windows-1251, но utf-8 является более безопасным вариантом.

Гораздо безопаснее… Я не использую Windows, поэтому мой компьютер не всегда хорошо справляется с кодировками только для Windows (1251, 1252).

танцующая_матильда

#5

Большое спасибо за полезную информацию.
«Stomme poes»: ??? Заметил в браузере
Еще раз спасибо.

система

#6

Stomme_poes:

Наконец, единственное, о чем noonope не упомянул, это сохранение вашего документа также в UTF-8 (или меньшей кодировке, если вы выберете какую-то другую кодировку — просто держите их все совместимыми друг с другом). Если редактор документа сохраняет в какой-то другой кодировке, а сервер пытается отправить в другой кодировке, пользователь увидит много ??? везде.

но я сделал…

сначала ваша страница должна быть написана и закодирована с использованием utf-8

Stomme_poes

#7

Ах да… Я думаю об этом только как о «сохранении как», потому что в большинстве редакторов кодировка устанавливается при сохранении. Но это также может отличаться для каждого редактора.

система

#8

я использую notepad++ для html и css. в нем вы можете изменить кодировку вашего файла на лету, используя параметры в меню «Кодировка». и я установил по умолчанию для нового файла в notepad++ значение UTF-8 без спецификации. так что не сохраняйте, как для меня:)

это важная часть для контента, отличного от ANSI, на вашей веб-странице: запуск документа в кодировке UTF-8 для вашей страницы, и поэтому я поставил его первым:

, ваша страница должна быть написана и закодирована с использованием utf-8, которая представляет собой большой набор символов, включая кириллицу. это также спасает жизнь, когда у вас смешанный языковой контент: русский, немецкий, французский.

если вы обслуживаете такой файл как UTF-8 на стороне сервера, этого должно быть достаточно. на самом деле нет необходимости в lang=»ru» или charset=utf-8, по крайней мере, чтобы не гарантировать правильное отображение символов на вашем сайте

xhtmlcoder

#9

Я полагаю, вы имеете в виду, что хотели бы изменить человеческий язык, используемый на всей странице, а не использовать комбинацию языков на странице?

Например, азбука, ISO-8859-5, как упоминалось ранее, вы обычно устанавливаете параметр «charset» поля заголовка «Content-Type» протокола HTTP.

В противном случае в (x)html вы, вероятно, использовали бы объявления META Content-Type, которые должны появляться как можно раньше в элементе HEAD, то есть перед TITLE. В качестве окончательной защиты от сбоев вы можете использовать атрибут «charset».


. . .
«ru»>
. . .


Другими словами, если есть конфликт между несколькими объявлениями кодирования в XHTML, следует:

  1. Заголовок HTTP Content-Type
  2. метка порядка байтов (BOM)
  3. XML-декларация
  4. метаэлемент
  5. атрибут кодировки ссылки

Как уже упоминалось, обычно UTF-8 обычно охватывает большинство вещей, хотя в некоторых случаях могут быть проблемы с отображением из-за шрифтов/глифов, в некоторых языках и т. д.

Unicode, как правило, не включает кириллические буквы с диакритическими знаками. Кодировка KOI8-R популярна для русского текста и используется чаще, чем ISO-8859-5, но поддержка Unicode замедляет их замену.

Не используйте только наборы символов Windows, они абсолютно злые!

Поэс, вероятно, имел в виду «символ замены» — (часто черный ромб с белым вопросительным знаком) символ, встречающийся в стандарте Unicode в кодовой точке U+FFFD в таблице Specials.

Stomme_poes

#10

lang=»ru»,

на самом деле не нужен

На самом деле есть. Программы чтения с экрана и другие а11ы должны обращать внимание на атрибуты языка, и они это делают.
Если мой ридер по умолчанию настроен на английский язык, я не хочу, чтобы он пытался читать русский язык с английским произношением. Я не должен слушать, выяснять, что такое язык на самом деле, и возиться с настройками.

или кодировка=utf-8,

Я всегда включаю его по двум причинам:

  1. проверка
  2. У меня нет контроля над сервером, и я хочу, чтобы несоответствия появлялись, когда на сервере устанавливают дурацкие кодировки. Я также жестко кодирую все свои символы, отличные от ASCII, с десятичными объектами HTML для тех, которые всегда должны отображаться правильно.
    Это правда, что если ваш сервер настроен правильно, метатеги не нужны, так как браузер их проигнорирует, но валидатор настаивает на этом.

Поэс, вероятно, имел в виду «замещающий символ» — (часто черный ромб с белым вопросительным знаком) символ, встречающийся в стандарте Unicode в кодовой точке U+FFFD в таблице Specials.

Я заметил, что Safari использует странный вариант, а в машине Doze просто пустые ящики.
Когда есть несоответствие символов, вы можете получить �, но если у вас нет шрифта в системе, по крайней мере, в Linux, вы получите поле с маленькими символами в нем.

система

#11

xhtmlcoder:

Юникод, как правило, не включает буквы кириллицы с диакритическими знаками.

провел небольшое исследование, и я думаю, что это стоит упомянуть:

Unicode не включает кириллические буквы с ударением, но их можно комбинировать, добавляя U+0301 («сочетание острого ударения») после ударной гласной (например, ы́ э́ ю́ я́). Некоторые языки, в том числе современный церковнославянский, до сих пор не полностью поддерживаются.

www.google.ru также использует utf-8. я думаю, можно с уверенностью предположить, что utf-8 можно использовать для кириллических страниц.

Stomme_poes

#12

Unicode не включает кириллические буквы с ударением, но их можно комбинировать, добавляя U+0301 («сочетание острого ударения») после ударной гласной (например, ы́ э́ ю́ я́). Некоторые языки, в том числе современный церковнославянский, до сих пор не полностью поддерживаются.

Это проблема. Есть много персонажей, которые могут быть представлены либо как один персонаж, либо как комбинация двух. Там буква, я думаю, это была маленькая j, но с циркумфлексом вместо точки сверху? Или какая-то похожая буква, где была двухсимвольная комбинация для прописных букв, но не для строчных, или наоборот… Я читал об этой конкретной букве в книге по регулярным выражениям. Регулярные выражения могут блевать на эти различия. Почему я боюсь зайти слишком далеко в регулярных выражениях и юникоде!

Я думаю, можно с уверенностью предположить, что utf-8 можно использовать для кириллических страниц.

Я бы хотел.

система

№13

Stomme_poes:

На самом деле есть. Программы чтения с экрана и другие а11ы должны обращать внимание на атрибуты языка, и они это делают.

Я всегда включаю его по двум причинам:

  1. проверка
  2. У меня нет контроля над сервером, и я хочу, чтобы несоответствия появлялись, когда на сервере устанавливают дурацкие кодировки.

ты прав, но…

на самом деле нет необходимости в lang=»ru» или charset=utf-8, по крайней мере, чтобы не гарантировать правильное отображение символов на вашем сайте

я пытался убедиться, что OP понимает:

  • каковы минимальные требования для создания кириллической веб-страницы: текстовый файл, содержащий страницу, должен быть правильно закодирован и отправлен с заголовком соответствующего типа содержимого.

  • какие еще включения для: lang, meta

и ваши дополнения были действительно необходимы, чтобы сделать вещи еще более ясными, есть случаи, когда это необходимо.

Хроникмастер1

№14

Для тех, кто хочет перейти к делу, вот код, который я использую неукоснительно. Я использую XHTML, поэтому мне нужно включить атрибуты lang и xml:lang в тег html. Вы определяете набор символов в метатеге следующим образом.



     <голова>
          
     
 

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

полдень:

, ваша страница должна быть написана и закодирована с использованием utf-8, которая представляет собой большой набор символов, включая кириллицу. это также спасает жизнь, когда у вас смешанный языковой контент: русский, немецкий, французский.

Я думаю, мы должны вернуться к этому. Это настоящая причина, по которой вы используете utf-8. Существуют всевозможные тонкие сбои, которые могут возникнуть, если вы попытаетесь закодировать одну страницу в одной кодировке, а другую страницу на том же сайте — в другой. Попытка использовать два разных языка на одной странице может сработать в зависимости от того, какие именно символы вы используете, и от того, доступны они или нет… ха-ха… попробуйте следить за ЭТОЙ частью обслуживания на страницах вашего веб-сайта. Это кошмар, из-за которого люди в первую очередь создали Unicode, и я постоянно использую его на всех своих страницах на всех своих веб-сайтах. В редких случаях может возникнуть небольшая проблема, но это ничто по сравнению с попытками управлять альтернативами, особенно если вы создаете веб-сайт для международного использования.

Обратите внимание, что это не означает, что вы всегда будете получать хорошее отображение при использовании Unicode. Использование Unicode просто означает, что когда HTTP-ответ, который вы отправляете в браузеры посетителей, с большей вероятностью будет понят, чем при использовании любого другого метода. К сожалению, отрисовка символов ТАКЖЕ зависит от поддержки шрифтов на компьютере посетителя. Поэтому, если вы используете Unicode, но на вашем компьютере нет шрифтов, содержащих эти глифы, вы увидите вопросительные знаки, или маленькие прямоугольники, или квадраты с четырехзначным кодированием Unicode, или любой другой подстановочный знак, который использует ваша ОС. Это не вина Unicode, это проблема со шрифтом. Другой набор символов не будет лучше отображаться, потому что проблема заключается в отсутствии поддержки шрифтов; плюс у вас есть дополнительная проблема, заключающаяся в том, что набор символов, скорее всего, вызовет проблемы.

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

Также ВСЕГДА следует указывать язык документа. Вероятно, есть какая-то логика, которая по умолчанию использует английский или что-то в этом роде, но вы можете вызвать серьезные проблемы с удобством использования и доступностью, особенно для небраузерных интерфейсов. Поработав в Институте Брайля, я могу привести пару случаев, когда не указание языка или его неправильное выполнение приводило к полной тарабарщине для некоторых пользователей.

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

  2. Дисплеи Брайля отображаются совершенно по-разному в зависимости от языка; это даже не проблема конкретной технологии, а проблема шрифта Брайля. Символы Брайля совершенно разные в каждом языке. Кто-то может выучить английский шрифт Брайля и читать книги по Брайлю; однако, если они возьмут в руки книгу, написанную французским шрифтом Брайля, все, что они смогут разобрать, — это тарабарщина, даже если они свободно говорят по-французски, символы на самом деле означают совершенно разные комбинации букв. А если английский и французский несовместимы, то можно понять проблемы для неевропейских языков.

фелгалл

№15

Хроникмастер1:

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

Единственными версиями IE, которым не нравится этот тег, являются версии, которые вообще не поддерживают XHTML. У него нет проблем ни в одном браузере, который на самом деле поддерживает XHTML.

Самая ранняя версия IE, действительно поддерживающая XHTML, — IE9. Во всех более ранних версиях вы не можете использовать страницу как XHTML и отображать ее в Internet Explorer (она будет предложена для загрузки, если вы попробуете), поэтому вам придется загружать ее как HTML, если вы хотите, чтобы страница отображалась. Это утверждение недействительно для HTML, но только IE6 действительно имеет какие-либо проблемы с его наличием.

Stomme_poes

№16

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

К сожалению, у меня нет нидерландского голоса на моей копии JAWS (если только я не хочу платить около тысячи евро). Для тестирования JAWS любой из моих рабочих страниц это означает, что я должен перевести все, что хочу протестировать, на английский язык. За голландским, произносимым как английский, очень сложно следить.

  1. Дисплеи Брайля отображаются совершенно по-разному в зависимости от языка; это даже не проблема конкретной технологии, а проблема шрифта Брайля. Символы Брайля совершенно разные в каждом языке. Кто-то может выучить английский шрифт Брайля и читать книги по Брайлю; однако, если они возьмут в руки книгу, написанную французским шрифтом Брайля, все, что они смогут разобрать, — это тарабарщина, даже если они свободно говорят по-французски, символы на самом деле означают совершенно разные комбинации букв. А если английский и французский несовместимы, то можно понять проблемы для неевропейских языков.

Классная информация. Мне всегда было интересно, похоже ли это на язык жестов (разные на разных языках).

Этот оператор недействителен для HTML, но только у IE6 есть какие-либо проблемы с его наличием.

Да, они научили IE7 игнорировать XML-тег, хотя другие комментарии перед типом документа переводят 7 в Quirks Mode.

танцующая_матильда

# 17

Большое спасибо за приведенное выше обсуждение, многому научился из него

Я посмотрел настройки сервера и могу выбрать 3 варианта:

  • k 018-r
  • окна-1251
  • x-mac-кириллица

Насколько я понял выше (и понял), лучше всего выбрать вариант «k 018-r».
В html-документе я начинаю с (и удаляю красный код, как объяснил felgall):



Stomme_poes

# 18

Ну уж точно не хотите lang=»en» на русскоязычном сайте!

Но вам нужны lang=»ru» и xml:lang=»ru»!

Примечание: почему переходный тип документа? Используйте строго! : )

Примечание 2: наши теги кода (и другие теги) используют квадратные скобки

xhtmlcoder

# 19

Стивен пошутил о том, что большинство живых версий M$IE не могут обрабатывать XHTML, поэтому, вероятно, выступал за HTML 4.01.

 
   
   [B][/B]
     <голова>
       
       <название>
         Жадный волшебник
       
     
     <тело>
     
   
 

Если вы пишете грамматику XHTML, необходимо, чтобы у вас было пространство имен xml, и обычно рекомендуется добавить значения xml:lang и lang. XHTML обычно использует по умолчанию UTF-8 в отсутствие других протоколов более высокого уровня и т. д.

система

#20

 
 

должно быть, насколько я понимаю, у вас есть

 
 

а у вас должно быть

 
 

или

 
 

подробнее об этом здесь.

следующая страница →

Nisus Writer Советы: редактирование на нероманских языках

ПРИМЕЧАНИЕ. Это программное обеспечение предназначено для классической Mac OS (например, OS 9) и не может использоваться в Mac OS X.
Nisus Writer Classic больше не продается. Эта страница предназначена только для архивных целей.


  1. Убедитесь, что в вашей системе установлен Language Kit для языка, на котором вы хотите вводить или редактировать текст.
  2. Выберите Новый в меню Файл .
  3. Выберите шрифт для языка, который вы хотите использовать, в меню Шрифт .
  4. Печатайте!

Переключение между языками путем изменения шрифта:
     Вы можете переключаться между английским и любым другим шрифтом, загруженным в вашу Систему. Просто выберите шрифт этого скрипта в меню Шрифт .

  • Кириллические шрифты отображаются латинскими буквами
  • Арабские или персидские шрифты отображаются арабскими буквами (в Эль-Кахире, версии Чикаго для арабской системы)
  • Шрифты на иврите (хотя и не на идише) обычно отображаются буквами иврита (в Эйлате, версии системы иврита Чикаго).
  • Шрифты восточноевропейских языков, индийских языков и тайского языка отображаются романскими буквами (в соответствующей версии Чикаго)
  • Названия различных китайских, японских и корейских шрифтов отображаются как латинскими буквами (в варианте Женевы), так и символами этих шрифтов.

Если вы используете этот метод, изменение шрифта автоматически изменяет сценарий. Если конкретная система скриптов имеет более одного метода ввода с клавиатуры, Nisus Writer автоматически выбирает клавиатуру, которую вы выбрали ранее.
     Если абзац на арабском, иврите или персидском должен следовать за абзацем на английском (или наоборот), вы можете написать макрос, который легко переключать шрифты и направление между абзацами.
     При выборе шрифта определенной письменности Клавиатура В меню отображается значок страны, культуры или метода ввода, указанного в этом сценарии.
     ПРИМЕЧАНИЕ. Многие служебные программы шрифтов, такие как Adobe Type Reunion и Suitcase, не поддерживают Script Manager и не позволяют отображать шрифты в меню Font по сценариям и в алфавитном порядке в каждой группе сценариев. Вместо этого они заставляют меню Font перечислять шрифты в строгом алфавитном порядке, в котором используются «внутренние» соглашения об именах программного обеспечения, а не имена, видимые пользователю.

Переключение между языками путем изменения скрипта:
     Вы всегда можете выбрать клавиатуру, представляющую скрипт (и метод ввода), используя меню Клавиатура . Некоторые системы сценариев имеют несколько методов ввода.

  • Нажмите COMMAND-SPACE для просмотра установленных сценариев, сохраняя выбранную клавиатуру для этого сценария.
  • Нажмите КОМАНДА-ОПЦИЯ-ПРОБЕЛ для переключения между клавиатурами, установленными для определенного сценария.
  • Выберите клавиатуру в меню для изменения сценариев, Nisus Writer выбирает шрифт и атрибуты следующим образом:
  • В новом документе без текста этого сценария вы получаете «системный» шрифт, локализованный вариант Женевского шрифта в этом сценарии.
  • Если у вас уже есть текст в этом скрипте, вы получаете атрибуты текста в скрипте, ближайшем к точке вставки.

Активный сценарий и точка вставки
     Когда вы печатаете посреди текста определенного сценария, то, что вы вводите, принимает атрибуты окружающего сценария и символов. Вы можете сделать определенные атрибуты скрипта частью точки вставки. Чтобы установить этот параметр, выберите Preferences… из меню Edit и отметьте Languages ​​в левой колонке диалогового окна.

  • Щелкните Изменить сценарий клавиатуры, чтобы он соответствовал шрифту (текста, в котором появляется точка вставки), чтобы изменить меню Клавиатура , чтобы он соответствовал окружающему сценарию.
    Если вы не установите этот параметр, клавиатура сохранит свои настройки до тех пор, пока вы не измените их явным образом.
  • Нажмите Change the Font to Match Keyboard Script , если вы хотите, чтобы шрифты автоматически соответствовали клавиатуре.

Когда вы печатаете с помощью клавиатуры США, шрифт всегда автоматически меняется в соответствии с клавиатурой. Однако некоторые скрипты позволяют вводить текст с использованием скрипта, отличного от шрифта. Например, вы можете ввести японский шрифт (например, Osaka), даже если на клавиатуре используется латинский алфавит. В этом случае ваши символы входят в романский диапазон набора ASCII и отображаются в варианте Женевы, и средство проверки орфографии не должно распознавать этот текст как английский.

Чувствительность скрипта
     Чувствительность к сценариям – важная проблема в документах, содержащих несколько сценариев. Большинство операций, таких как поиск и замена или изменение шрифта, одновременно имеют смысл только для одного языка. Чувствительность к сценариям означает, что Nisus Writer знает о сценариях, задействованных при изменении вашего текста.
Измените шрифт выделенного текста с помощью различных сценариев:
     Выберите любой шрифт сценария, который вы хотите изменить.
Изменение затрагивает только текст в скрипте, соответствующий шрифту. Например, в выделении, включающем арабский и латинский текст, если выбрать Times , Nisus Writer изменяет только латинский текст.

Автор записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *