2012blackglasses

Клавиатурно-чарсетное псто

В комментариях к фотографиям в моих постах-фотопутешествиях часто приходится использовать в названиях многочисленные европейские буковки: ä, å, ā, æ, ö, ø и всякие другие (коих даже до юникодной эры накопилось пол-тыщи разных вариантов). Сразу возникли два вопроса: какую кодировку использовать и как их вводить с клавиатуры при наборе текста постов.

Первый вопрос был решён быстро: волевым решением была выбрана UTF-8 вместо UCS-2 / UTF-16-LE (ибо в юникодном Фаре и в веб-браузерах это пофигу, но первую хоть как-то можно использовать в php, тогда как второй вариант для php непригоден совсем).

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

Попробовал, работает ли в винде старый досовый способ: правый Alt с кодом символа на правой части клавиатуры. Оказалось, что работает в разных программах по-разному: в Фаре всегда получается юникодный символ по его десятичному юникодному коду (то, что надо!), а в Миранде, например, совсем по-другому — введённое число обрезается по модулю 256 и интерпретируется как десятичный код в текущей кодовой странице для неюникодных приложений (CP_ACP), несмотря на то, что Миранда — юникодная. В Опере юникодный ввод работает только если включен NumLock (а у меня он всегда выключен, старая детская привычка ещё с XT-шной клавиатуры). А во многих других приложениях не работает совсем никак, обрабатывается как Alt + стрелки. Поэтому от этого способа тоже пришлось отказаться. Да и вообще, при скорости набора порядка 250 символов в минуту пытаться вводить буковки по коду абсолютно неприемлимо, тормозит скорость печати в разы.

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

А как переключаетесь вы между разными клавиатурными раскладками? И какую кодировку используете в текстовых файлах?

Кстати, хорошее слово для тестирования вашей готовности к Unicode: «Įñţëřņâťīôňàŀiżæŧїøŋ»

У кого сколько букв не показалось? Должно получиться что-то похожее на "Internationalization" со всякими хвостиками и крючками.

Ещё один модный тренд, который хочу обсудить, это использование специальных юникодных знаков препинания. Говорят, что нынче уже не модно использовать один и тот же символ "-" в качестве тире ("—" и "–"), дефиса ("-" или "­") и минуса ("−"), кавычки должны быть не shift-2, а всякие красивые «»‘’‚‛“”„′″‹› — выбирай на любой вкус и цвет, а в качестве многоточия теперь нельзя использовать много точек..., а следует использовать одно троеточие…

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

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

Могу порекомендовать две Windows раскладки США-международная и Канадская стандартная (многоязычная).

Первой содержит все символы западной Европы, сначала нужно набирать надстрочные знаки, потом букву (или пробел):

клавиша с буквой Э:

grávis - '
ümlaut - Shift + "

клавиша с буквой Ё

àcute - `
tildã - Shist + ~

cîrcumflex - Shift + 6

ещё где-то должны быть çedillia и ring åbove, но я не помню где именно.

Существует также альтернативный ввод, при помощи клавиши Alt (верхний регистр как обычно с Shift'ом ä - Alt + q, Ä - Alt + Shift + q) и основной части клавиатуры. Итак:

ä - Alt + q
å - Alt + w
é - Alt + e
þ - Alt + t
ü - Alt + y
ú - Alt + u
í - Alt + i
ó - Alt + o
ö - Alt + p
á - Alt + a
ß - Alt + s (в верхнем регисте тут §)
ð - Alt + d
ø - Alt + l
æ - Alt + z
ñ - Alt + n
µ - Alt + m

Что же касается Канадской клавиатуры, то она гораздо сложнее и вкючает в себя ещё символы восточной Европы, в отличие от предыдущего варианта там всё менее логично, описывать принцип набора сложновато, надо пробовать, скажу лишь что для набора нужно пользоваться комбинациями из Shift'а, Alt'а и правого Ctrl'а, реальный Ctrl в данный раскладке только слева. В XP был глюк с написанием заглавной польской буквы Ż (Ctrl+?, Z), вместо неё писался квадратик.
Спасибо. Попробовал US International, с первой попытки не понравилась. Не понятно, как теперь набирать обычные кавычки и апострофы, а мне часто приходится пользоваться ими по работе, поэтому переносить их на другие клавиши нельзя.
Во-вторых, обнаружился конфликт у второго способа ввода через AltGr+буква: оказывается, такое сочетание обрабатывается как Alt+Ctrl+буква, а во многих программах, которыми мне приходится пользоваться, на такие сочетания назначены различные команды. Эх, вот если бы можно было бы разделить, чтобы Alt+Ctrl не считалось бы тем же самым, что AltGr…
Меня все эти клавиатурно-раскладочные заморочки мало беспокоят. Тупо две раскладки и Пунто. Единственное - поскольку вместо буквы Ъ я употребляю апостроф (даже сейчас случайно сперва его набрал :) ), то приходится для ввода одного символа дважды переключать раскладку. Впрочем,я к этому давно привык и делаю машинально.
Перепутал в предыдущем сообщении название надстрочных символов gràvis и ácute.
Должен добавить, что символы в названиях пославлены лишь для наглядности, в реальности на их там не надо.
Эх, жалко тут нет клавиши правка, как на форумах. Прошу прощения за некоторую корявость и уже третье сообщение вдогонку. Правила тире и кавычек можно посмотреть в Ководстве Лебедева

про тире: http://www.artlebedev.ru/kovodstvo/sections/97/

про кавычки: http://www.artlebedev.ru/kovodstvo/sections/104/
Как-то не особо волнуюсь по поводу кавычек и тире :)
Да и в твоем способе ввода ничего крамольного не вижу: все корректно отображается
У моего способа есть один существенный недостаток: приходится сначала писать текст в файле и потом прогонять через этот скрипт. Когда готовлю список фотографий с описаниями, файл приходится заводить в любом случае. А когда хочется просто написать что-нибудь где-нибудь, этот способ неудобен.
не волнуют совершенно кавычки и троеточие. тире стараюсь ставить правильное. тут, в комментариях жж, и в php ставлю как амперсанд-решетка-151-точкасзапятой (ничё не перепутал?). ворды всякие сами заменяют, в других местах — копирую откуда-нибудь и вставляю.

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

В Microsoft Windows для западноевропейских языков используется кодировка Windows-1252, которая отличается от ISO-8859-1 тем, что позиции 128—159 здесь заняты разными полезными типографскими символами. Большинство браузеров не различают ISO-8859-1 и Windows-1252 — фактически, и в том, и в другом случае они отображают текст как Windows-1252.
Такая путаница между этими двумя кодировками привела к тому, что многие программы, генерирующие файлы HTML, ошибочно обозначали символы их кодами из Windows−1252 вместо кодов Юникода (исходя из того, что номер символа в ISO-8859-1 равен его номеру в Юникоде): например, тире (—) обозначалось — вместо правильного —, многоточие обозначалось … вместо правильного … и т. д.; из-за распространённости этого явления современные браузеры продолжают показывать, например, — как тире, хотя на самом деле — — это управляющий символ «end of guarded area», применение которого в HTML бессмысленно.


Одна закрывающая кавычка вместо нескольких вложенных меня тоже раздражает как программиста, невзирая ни на какие правила, придуманные лингвистами или типографами.
Тире при наличии возможности ставлю правильное с помощью комбинаций alt+число, кавычки тоже. Отдельным знаком для троеточия не пользуюсь.
А какое число ты используешь в комбинациях Alt+число? Они в разных программах по-разному обрабатываются, как показал эксперимент.
Да и вообще, при скорости набора порядка 250 символов в минуту пытаться вводить буковки по коду абсолютно неприемлимо, тормозит скорость печати в разы.
В текстовых файлах, да и везде где можно, я уже больше года использую UTF-8, это без вариантов.

Когда нужно ввести необычный символ (необычный в смысле частоты), я пользуюсь стандартным виндовсным charmap.exe. Удивляюсь, кстати, как мало людей о нём знают.

Я тоже как-то заводил более одной раскладки, и тоже не смог справиться с переключением. Ныне я использую две основные расскладки, кириллицу и латиницу. При помощи MSKLC я добавил в них кавычек, тире и прочего. У меня ещё много заморочек, например, в моих раскладках цифры набираются с шифтом, а знаки препинания в цифровом ряду — без шифта как на пишущих машинках.

Мне нравится, когда используют тире, красивые кавычки и т. п. Я раздражаюсь, когда в русском тексте вижу неправильные „лапки“. Хорошо, что многоточие и из трёх точек, и одним спецсимволом выглядит одинаково.

А для HTML ещё можно использовать последовательности вроде ó (ó), → (→) и т. п.; в интернетах есть таблички.
А ещё я чудесным образом обнаружил и пользуюсь переключалкой раскладок keyla. Она позволяет указать, какие раскладки переключать циклически, а какие включать по нажатию специальной комбинации.
Друг один даписал движок для блога и тестирует трансляцию туда постов из жеже:
-- Я твой жеже весь залил, но не могу никак баг пофиксить: все кавычки конвертнулись в звёздочки, я не понимаю, почему!!!
-- Обрати внивание на оригинал... прости, я так пишу...
вообще в блогосфере я последнее время обычно забиваю на правильную типографику (как сейчас), даже заглавные буквы ставлю не всегда. А если нужно точно указать символ, то:

под виндой для правильных тире и кавычек использовал "типографскую раскладку Ильи Бирмана" http://ilyabirman.ru/typography-layout/
была мысль её усовершенствовать и добавить буквы европейских языков с надстрочниками, но поленился.
для них в ЖЖ пишу хтмл-обозначения с амперсэндом:
é -- é
ä -- ä и т.п.

под убунтой удобного способа пока не нашёл, либо хтмл-обозначения (см. выше), либо вытаскивание мышой из таблиц, либо Алт+цифры.
Система → Параметры → Клавиатура
На вкладке «Раскладки» нажать «Параметры раскладки», в открывшемся окне в группе «Клавиша для выбора 3-го уровня» выбрать один из вариантов (у меня стоит как в бирмановской раскладке, правый Alt), в «Разных параметрах совместимости» поставить «Включить дополнительные типографские символы».

Это что касается типографских символов, как добавить всякие умлауты — не знаю. Зато есть знак ударения (AltGr+A).
Посмотрел. Спасибо.
Непонятно глючит. Не всегда страница загружается до конца, через раз клавиатура отсутствует, вижу только поле ввода. Но пару раз опробовать получилось.
А по сути это получается почти то же самое, что и charmap.exe, только выглядит как клавиатура, а не таблица всех символов.
лично я к тире, кавычкам, апострофам и прочим смайликам отношусь более или менее ровно... другое дело, что в последнее время у меня появилась привычка ставить дефис вместо запятой (издержки сетевого общения) -- стараюсь исправлять, а в остальном вроде как-то все равно...

предложенное тобой слово у меня отразилось в том же количестве букв, что и "контрольное".
это что означает? :) к чему я там готова?? =)))
Да — я тоже заметил — чрезмерное использование тире где не надо — это серьёзная проблема современных интернетов. :-)

К чему готова — к Unicode! Значит, у тебя в системе всё в порядке с интернациональными шрифтами и кодировками.