|
Отсутствующие непосредственно на клавиатуре символы — постоянный источник неприятностей для веб-дизайнеров. В стандартной для HTML кодировке Latin-1 (стр. 17) просто нет некоторых позарез нужных для набора даже английского текста символов, а до универсальной поддержки Unicode во всех документах, броузерах, шрифтах и операционных системах пока еще очень далеко. И уж конечно, ничуть не лучше дела обстоят в мире кириллицы с ее многочисленными несовместимыми друг с другом кодировками.
Первым приходящий в голову способ вызвать нужный в тексте, но отсутствующий на клавиатуре символ — посмотреть его номер в каком-нибудь шрифте и сослаться на него из HTML с помощью числовой подстановки (например, написав © для вызова символа копирайта, стр. 29). Однако этот метод очень ненадежен — он полагается, во-первых, на то, что у всех шрифтов на всех платформах этот символ расположен в одной и той же позиции (что далеко не всегда соответствует действительности), а во-вторых, на то, что броузер будет интерпретировать код именно как номер символа в текущем шрифте (что, вообще говоря, противоречит
стандарту). Поэтому гораздо предпочтительней пользоваться мнемоническими подстановками (например, &сору; для того же символа копирайта). Однако несовершенство броузеров и сложившаяся (так и хочется сказать «порочная») практика русификации HTML-документов накладывает серьезные ограничения и на этот способ.
• Длинное тире (англ. em dash) как знак препинания не имеет ничего общего с дефисом (hyphen) — в идеале оно должно выглядеть именно так, как в этом предложении. Из кодировок кириллицы (стр. 16) длинное тире есть только у Unicode, CP1251 и кодировки Макинтоша, поэтому им нельзя пользоваться в текстах, автоматически перекодируемых из/в КОИ8 или СР866. Хотя в Windows почти все шрифты (как с кириллицей, так и без) имеют длинное тире по адресу 151 (шестнадцатеричное 97), пользоваться им на законных основаниях нельзя и в английских текстах — в официально предписанной для HTML кодировке Latin-1 (как и в Unicode) это знакоместо объявлено «неиспользуемым» (стр. 17). Увы, пока что единственный стопроцентно надежный способ воспроизвести длинное тире в HTML-тексте — набрать два или три дефиса подряд: -- или ---.
Напомню, что в английском наборе длинное тире должно стоять вплотную к соседним символам, а в русском — отбиваться неразрываемым пробелом слева и обычным справа.
• То же самое можно сказать и о коротком тире (англ. еп dash). В русской типографской традиции этого символа не было, но в английском наборе им принято пользоваться для численных интервалов, например: 1998-2000 (короткое тире не только чуть короче длинного, но и приподнято над строкой до середины высоты цифровых символов). В Windows большинство шрифтов имеют этот символ по адресу 150 (шестнадцатеричное 96); в HTML, однако, его приходится опять-таки имитировать одиночным или двойным дефисом. Надо сказать, что в HTML 4 уже предусмотрены символьные коды — и – для длинного и короткого тире соответственно. Однако ссылаются они на кодовые позиции этих символов в Unicode — и увы, ни MSIE, ни NC в четвертых версиях еще и не думают эти коды поддерживать (хотя MSIE понимает их числовые Unicode-подстановки — и –).
• Кавычки — тема, заслуживающая отдельной книги. Всего существует четыре типа кавычек: «французские» (иначе называемые «елочки»), „немецкие" („лапки"), "английские обычные, или двойные," и 'английские одинарные.' В русском языке традиционно применяются французские «елочки», а для «кавычек „внутри" кавычек» — немецкие „лапки". В английском языке пользуются "английскими двойными" для кавычек первого уровня и 'английскими одинарными' для "кавычек 'внутри' кавычек." Соответственно, английские кавычки в русском тексте, так же как и обозначение дюйма " вместо полагающихся кавычек в английском тексте, — следствие либо каких-то технических ограничений при наборе, либо (увы, чаще) необразованности того, кто этот текст оформлял.
К сожалению, в HTML вам вряд ли удастся щегольнуть знанием всех кавычечных тонкостей. В Latin-1 предусмотрены только французские «елочки», для вызова которых стандартный HTML имеет мнемонические подстановки « и ». Однако на практике этими кодами нельзя пользоваться именно там, где они больше всего нужны, — в русском языке: из всех кодировок кириллицы «лапки» есть только в Unicode, CP1251 и в кодировке Макинтоша. И хотя в теории броузер обязан относить мнемонические подстановки к набору символов языка HTML (т. е. Latin-1), а не к текущей кодировке документа, на практике мысль украсить русский текст «елочками» можно оставить до тех пор, пока все броузеры не научатся правильно разбираться с кодировками и мнемоническими подстановками.
Еще печальнее ситуация с немецкими и английскими кавычками. Их нет даже в Latin-1, и надеяться остается лишь на Unicode, — точнее, на ссылающиеся на символы Unicode подстановки „ („), “ ("), ” ("), ‘ (') и ’ ('). Эти символьные коды введены в HTML 4, но еще не поддерживаются графическими броузерами.
Кстати, имейте в виду, что в английском языке точки и запятые принято вносить внутрь кавычек, даже если по смыслу они должны стоять снаружи: "так," а не "так".
• Сравнительно неплохо обстоят дела с символами авторского права (©) и параграфа (§) — они есть и в Latin-1, и в большинстве шрифтов (как с кириллицей, так и без). Для их вызова из HTML можно пользоваться
символьными кодами &сору; и § соответственно. Напротив, символ торговой марки (™), также присутствующий в большинстве шрифтов, в Latin-1 отсутствует, так что вместо ™ предпочтительнее писать <SUP><SMALL>tm</SMALL></SUP>.
• Знак номера (№) был заимствован в русский язык из французского, так что в нерусифицированных шрифтах (чей набор символов ориентирован больше на англоязычную типографию) он отсутствует. (В Unicode он есть, но символьного кода в HTML 4 для него не предусмотрено.) Тем не менее символ этот присутствует во всех кодировках русского языка, и если вы ориентируетесь только на русскоязычную аудиторию и при этом вполне уверены в способности автоматического перекодировщика на вашем сервере правильно обрабатывать этот символ, им можно пользоваться просто как буквой (т. е. вставлять его в текст напрямую, без каких бы то ни было конструкций языка HTML).
Дата добавления: 2015-07-26; просмотров: 61 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
When all else fails | | | Дурная наследственность |