Показаны сообщения с ярлыком linguistic. Показать все сообщения
Показаны сообщения с ярлыком linguistic. Показать все сообщения

четверг, 16 декабря 2010 г.

За Нормановским "Кому нужен этот Unicode?"

Это перевод Behind Norman's 'Who needs Unicode?' post. Автор: Майкл Каплан.

Постоянный участник Norman Diamond в своём обычном очаровательном стиле создал в microsoft.public.win32.programmer.international и microsoft.public.word.international такую тему:
На моём жёстком диске есть файл, путь к которому, вероятно, будет обрезан Outlook Express:
C:\Program Files\Windows CE Tools\wce500\Windows Mobile 5.0 Smartphone SDK\Samples\CPP\Win32\Mapirule\readme.txt
Среди полезных кусочков информации было найдено следующее:
> Client痴 transport (SMS, ActiveSync, POP3) arrives.
и:
> where <clsid> represents the COM object痴 class ID GUID
Это заслуживает награды за самоописание. Производитель таких вещей как ОС для смартфонов Windows Mobile 5.0, SDK для той же платформы и компиляторов снова для неё же, просто знал, что им не обязательно нужно использовать Unicode в документах, потому что кодовая страница ANSI прекрасно донесёт их сообщение. Кодовая страница ANSI, конечно же, - так, что используется Блокнотом на настольных системах Windows вроде XP, и по умолчанию равна кодовой странице 932. Слово 痴 вообще-то описывает процесс, который приводит к отображению слова 痴.

Можно задуматься, не мог бы производитель тонн документации по Unicode научиться пользоваться Блокнотом, чтобы он сохранял .txt файл в кодировке Unicode, так что документация могла бы предоставлять информацию, используя другие символы, нежели 痴. Определённая компания, которая известна своим 痴, могла бы иметь способность научить их. Но определённая компания, известная своим 痴, может не захотеть учиться у них.
Он умеет использовать слова (см. строку со спонсором этого поста - 痴 (U+75f4), если вы не знаете значения 痴 и хотите понять юмор Нормана!).

Здесь важно подняться над словами, чтобы увидеть о чём мы тут говорим :-)

суббота, 27 ноября 2010 г.

И последнее слово о FINAL SIGMA

Это перевод The last word on the FINAL SIGMA. Автор: Майкл Каплан.

Ранее я обсудил сценарий, когда двойное изменение регистра не даёт исходную строку в .NET.

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

Справедливый вопрос, и я думаю, стоящий отдельного поста в блоге :-)

среда, 24 ноября 2010 г.

"Майкл, ну почему ToTitleCase такой отстой?"

Это перевод "Michael, why does ToTitleCase suck so much?". Автор: Майкл Каплан.

В заголовке этого поста я, на самом деле, просто процитировал e-mail, который я получил по этой теме. E-mail, так похожий на другие, которые я получаю время от времени с тех пор, как я начал публиковать заметки об особенностях изменения регистра строки. И это ещё одно из самых невинных писем!

Кажется, люди просто ненавидят класс TextInfo из-за его метода ToTitleCase.

воскресенье, 21 ноября 2010 г.

Несколько подсказок для CompareString

Это перевод A few of the gotchas of CompareString. Автор: Майкл Каплан.

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

Но, как и любая другая API функция, CompareString имеет свои подводные камни.

пятница, 12 ноября 2010 г.

Что делает строку осмысленной?

Это перевод What makes a string meaningful? Автор: Майкл Каплан.

Вчера я сказал, что CompareString предпочитает осмысленные данные и хотя (редкие) несоответствия всегда являются багами, но нам приходится приоритезировать баги, основываясь на критерии осмысленности входных данных.

Многие люди задались вопросом, как определяется здесь слово "осмысленные". Если ли тут строгое определение или что-то, полезное для разработчиков?

четверг, 11 ноября 2010 г.

CompareString предпочитает осмысленные строки

Это перевод CompareString prefers meaningful strings. Автор: Майкл Каплан.

Ещё одна причина, почему интернациональное тестирование - это не для новичков...

Как это они говорят на despair.com: "When you earnestly believe you can compensate for a lack of skill by doubling your efforts, there's no end to what you can't do".

Хотя это не проблема в этой команде. Но когда другие команды вызывают наши API, им иногда в голову приходит идея тестировать API как часть тестирования их компонента. И, не понимая как эти API работают, они пишут код, который генерирует случайные Unicode строки и передаёт их в CompareString.

пятница, 13 августа 2010 г.

Буквы в языке...

Это перевод The letters in a language... Автор: Майкл Каплан.

Сегодня я получил вопрос от кого-то, кто читает блог Jeppe. Вопрос заключался в том, существует ли метод, API или ресурс, который позволял бы получить все буквы в языке?

вторник, 13 июля 2010 г.

Что означает "лингвистическое изменение регистра"?

Это перевод What does "linguistic casing" mean? Автор: Майкл Каплан.

Функция LCMapString - центральная функция в Win32 API для изменения регистра символов в строке. Все прочие функции в USER32 (типа CharUpper, CharLower, CharUpperBuff и CharLowerBuff) являются просто оболочками, которые вызывают LCMapString с флагами LCMAP_UPPERCASE или LCMAP_LOWERCASE. Все они делают простой маппинг вроде a -> A -> a, å -> Å -> å и так далее.

пятница, 9 июля 2010 г.

Where is the locale? "Its Invariant." In where?

Это перевод Where is the locale? "Its Invariant." In where? Автор: Майкл Каплан.

Старая шутка, адаптированная для Windows XP (прим. пер.: как и заголовок, я решил оставить без перевода, ибо при переводе полностью теряется смысл):

Q -- Where is the locale?
A -- Its invariant.
Q -- Where is variant?
A -- Its ten miles south of communicado, and five miles east of Cognito.

пятница, 14 мая 2010 г.

Отстаньте от моего [нижнего] регистра! (или: регистр, часть первая)

Это перевод Get off my [lower] case! (or: Casing, the 1st). Автор: Майкл Каплан.

"Trying a case the second time is like eating yesterday morning’s oatmeal." -- Lloyd Paul Stryker
Конечно же, когда Stryker сказал это, он имел ввиду правовую юриспруденцию. Но, верите вы мне или нет, эта цитата также может быть применена к алфавитным операциям с регистром!