Можно и через один шрифт в формате OpenType (OTF), который поддерживает различные начертания для различных случаев, в частности языка.
Флейм о (не)?нужности юникода (Отрезано от "Символы й, ё в ФС")
Модератор: Модераторы разделов
-
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
Re: Флейм о (не)?нужности юникода
Можно и через один шрифт в формате OpenType (OTF), который поддерживает различные начертания для различных случаев, в частности языка.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Флейм о (не)?нужности юникода
это ты достал уже. Доколе?! Пойми уже наконец: в русском языке есть многоточие(…), и это ОДИН символ, а НЕ три точки. По правилам орфографии кавычки «такие», а не такие, как у вас, в 80х годах прошлого века. И так далее.
За что ненавидишь родной язык?!
потому, что так удобнее читателю читать. В конце концов, компьютер создан для удобства людей. А не наоборот. Вот в старину компьютеры были примитивными и тупыми, можно было простить.
вот именно! Давайте вернёмся к клинописи! А то всякие «ФЫВАЖ» неудобно на глиняных табличках!
руки у вас не из того места растут. У меня всё читается. XML вовсе не обязательно делать одной строкой без отступов и т.п.
Спасибо сказали:
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Флейм о (не)?нужности юникода
*.po файлы например. Если честно, то я не знаю, как в po засунуть те же ёлочки, которые требует родная орфография.
Или вы против русификации программ?
Спасибо сказали:
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Флейм о (не)?нужности юникода
Bizdelnick писал(а): ↑13.08.2014 10:45Советую для начала strlen посчитать. Потом на grep -i посмотреть, ну и вообще так помалу в сях попробовать что-нибудь сделать с текстом. Это невозможно сделать без велосипедов и костылей!
Это проблема сей, а не кодировки.
нет никакой проблемы:
The strlen() function returns the number of bytes in the string s.
при чём тут символы?
Есть wchar_t, если вам так хочется считать символы(кстати, зачем это вам?)
Есть ещё regex, в glibc. Там всё отлично с UTF-8.
угу. Это не баг, а фича. Она позволяет компилятору выбрать более быстрый и/или короткий путь. А если вы пишете x++ + ++x, то вы ССЗБ.
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Флейм о (не)?нужности юникода
Bizdelnick писал(а): ↑13.08.2014 14:07Если с одним языком у программиста возникает некая проблема, а с другим - нет, то это проблема именно языка.
в других ЯП компилятор всегда выбирает один путь, и очевидно, даже если путей всего два, то в 50% случаев компилятор создаёт плохой код. И ничего с этим не поделать, ибо выбрать хороший путь не даёт стандарт. Ну например в питоно/пхп какая-то вшивая переменная _всегда_ занимает кучу байт, а мы потом удивляемся, "почему программы такие медленные и жирные?". Приходится вставлять вставки на сишке, как например в mercurial.
-
- Сообщения: 1354
Re: Флейм о (не)?нужности юникода
Проще простого:
Код: Выделить всё
...
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
...
msgid "Text with \"quotes\"."
msgstr "Текст в «кавычках»."
Спасибо сказали:
-
- Сообщения: 3408
- Статус: аватар-невидимка
- ОС: openSUSE Tumbleweed x86_64
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Флейм о (не)?нужности юникода
bormant
да, конечно я имел ввиду возгласы "юникод не нужен!". А по моему — нужен, в т.ч. и в исходных текстах (po это тоже исходные тексты ИМХО).
[offtop-танцпол]И вообще. У нас в обществе очень много проблем возникает из-за такой ерунды, как например неграмотная надпись на каком-то ценнике/витрине. Ладно там на бумаге раньше что угодно было рисовать, а как если на компьютере? Оно ведь как бывает: слово за слово,*** по столу, и вот пожалуйста: имеем майдан со всеми вытекающими. А проблемы-то часто лишь в том, что компьютер по-русски умеет, по-украински умеет, а чтоб сразу и так и так — увы, надо выбирать что-то одно.[offtop-танцпол]
да, конечно я имел ввиду возгласы "юникод не нужен!". А по моему — нужен, в т.ч. и в исходных текстах (po это тоже исходные тексты ИМХО).
[offtop-танцпол]И вообще. У нас в обществе очень много проблем возникает из-за такой ерунды, как например неграмотная надпись на каком-то ценнике/витрине. Ладно там на бумаге раньше что угодно было рисовать, а как если на компьютере? Оно ведь как бывает: слово за слово,*** по столу, и вот пожалуйста: имеем майдан со всеми вытекающими. А проблемы-то часто лишь в том, что компьютер по-русски умеет, по-украински умеет, а чтоб сразу и так и так — увы, надо выбирать что-то одно.[offtop-танцпол]
-
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: Флейм о (не)?нужности юникода
Нет, не против. Но кавычки туда нефиг совать!
мегажесточайшее извращение!
Я таким бредом не занимаюсь. И ваши кавычки в моей консольке будут выглядеть каким-то диким ужасом, т.к. не перекодируются iconv'ом из хрюникода!
В pdf-файлах и базах данных. Больше, пожалуй, нигде!
Грамотным просто надо быть. А если пишешь на чужом языке — тогда уж проверять.
И как ты в хрюникоде длину строки узнаешь явно?
А еще "прикол": допустим, у тебя есть фиксированное поле ввода (скажем, для фамилии) длиной в 100 символов. В сях я выделяю 101 байт в буфер. А в хрюникоде — фигвам! Придется выделять значительно больше, либо использовать промежуточный буфер и strdup.
А еще хрюникод в исходниках не нужен, т.к. все комментарии должны быть на английском. Разве что комментарии для po-файлов на русском, но там любой 8-битной кодировки за глаза хватит.
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка

-
- Сообщения: 1354
Re: Флейм о (не)?нужности юникода
Проверяли? gettext довольно интеллектуален, он умеет неоднозначные преобразования:
подготовка:
Код: Выделить всё
$ echo $LANG
ru_RU.UTF-8
$ cat <<EOF >testq.mo
msgid ""
msgstr ""
"Language: ru\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
msgid "Text with No. and \"quotes\"."
msgstr "Текст с № и «кавычками»."
EOF
$ mkdir -p ru/LC_MESSAGES
$ msgfmt -o ru/LC_MESSAGES/testq.mo testq.po
собственно проверка:
Код: Выделить всё
$ LANG=ru_RU.KOI8-R TEXTDOMAINDIR=. TEXTDOMAIN=testq \
gettext -s 'Text with No. and "quotes".' | iconv -f koi8r
Текст с No и <<кавычками>>.
NickLion, drBatty,
я имел в виду вот это самое -- хранение в UTF-8, преобразование в используемую локаль довольно прозрачное даже для отсутствующих в ней символов, и оно уже давно есть, и без дополнительных усилий со стороны кодописца.
Спасибо сказали:
-
- Модератор
- Сообщения: 21178
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Флейм о (не)?нужности юникода
Это не мне, это eddy. И он считает (в общем-то, справедливо) wchar_t костылём.
Чего только ни придумают, лишь бы git не юзать...
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Флейм о (не)?нужности юникода
это ты не ко мне, а вот сюда например:
Об ошибках в переводе сообщений «ls» сообщайте по адресу <gnu@mx.ru>
придумай проще. Тебе Over9000 программистов будут благодарны. Только учти, что эта gettext интегрируется как с make, так и с autotools, и ещё с кучей всего. И хотя сама не переводит, но кроме перевода делать ничего не нужно. А ты родишь что-то жуткое, с кучей костылей для определения кодировки например.
И ваши кавычки в моей консольке будут выглядеть каким-то диким ужасом, т.к. не перекодируются
у тебя просто кривая консолька, УМВР.
а какие ещё тексты бывают?
ОК. Как написать такое предложение:
Код: Выделить всё
Ридна Украина (Рідна Україна)
?
И это очень похожие языки, отличие минимальны, несколько букв не хватает, и несколько лишних.
А вот что мне делать, если я встречу в Сети файл, с именем на японском? Лично я тупо скопирую имя в гуглотранслятр, и даже без знания японского пойму. А ты даже ничего не увидишь!
1. Зачем???
2. wchar_t, regex.
1. Зачем делать именно фиксированное поле?
2. ну я выделю двести. Только не нужно про китайцев, у них короткие фамилии. Переполнение возможно у нас обоих. Не вижу проблемы.
комментарий в первую очередь должен быть понятным. Да, ты прав, по английски понятнее "для всех". Ну а если код "не для всех"? Например если я знаю, что никому,кроме меня, он нафиг не нужен? Раз "понятный", значит "однозначный", а составить однозначно-понятую фразу на английском очень непросто(если ты не родился в Англии). На кой ляд нужен комментарий, который будет неправильно понят? Уж лучше-бы его не было == он был на русском.
Bizdelnick писал(а): ↑26.08.2014 10:46Чего только ни придумают, лишь бы git не юзать...Приходится вставлять вставки на сишке, как например в mercurial.
вообще-то это был ответ на рассуждения о "проблемах сишки". В том смысле, что хоть другие ЯП может и лучше, но IRL без этой самой сишки они не могут. А гит AFAIK на сишке чуть более, чем полностью.
-
- Модератор
- Сообщения: 21178
- Статус: nulla salus bello
- ОС: Debian GNU/Linux
Re: Флейм о (не)?нужности юникода
И это прекрасно. Сишечка - няша. Но отрицать наличие у неё проблем - глупо.
Пишите правильно:
в консоли вку́пе (с чем-либо) в общем вообще | в течение (часа) новичок нюанс по умолчанию | приемлемо проблема пробовать трафик |
Спасибо сказали:
-
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: Флейм о (не)?нужности юникода
Несколько лет назад родил. Отличная штука: все переводы задаются внутри подключаемого заголовочного файла → тексты жестко вписаны в бинарник → никаких проблем с "потерей" mo-файлов. И скорость выше (правда, на современном железе пофиг уже).
Скажем, исходники латеховских файлов. В КОИ-8. Или README.
Я этот язык не бачу. Мне пофиг.
Извращение же! Особенно regex!!! Зачем пихать регэкспы везде? Это же долго!
Мне так хочется. Ну, допустим, чтобы реже malloc дергать. Или в файл заносить в ключи наподобие FITS'ов.
Тогда вообще наплевать, что там внутри.
Вот, кстати, хоть я и терпеть ненавижу всякие пхытоны, но mercurial мне милей гита: синтаксис проще.
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка

-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Флейм о (не)?нужности юникода
мимо кассы, у меня они пишутся ничем не хуже, чем у тебя.
вот из-за таких как ты страдают все. Потому что одному надо одно, другому другое, и так далее. В итоге, всем всё надо, но сделать никто ничего не может, ибо один в поле не воин.
1. это "долго" ты сказал про поле с фамилией из 100 букв? А чем мерил? Пойми, всё это ковыряние в символах нужно только на входе и на выходе от/к человеку. там скорость не нужна. А внутри оно байтами, как обычно, как в EXT4 например, ей наплевать, что там в именах файлов, она туда не заглядывает.
2. ты безнадёжно отстал от жизни: regex'ы парсятся по специальным алгоритмам, сразу по много букв, а не по одной. Когда процессоры были 16и битными, это погоды не делало, но сегодня, в 64х битах, оно работает в разы быстрее. А тормоза возникают из-за криворуких быдлокодеров, ююзающих где надо и где не надо нежадные PCRE. Жадные они за 1 проход работают, а нежадные за несколько раз, вот и тормозит. Но это другая проблема.
это называется "неосилил". трижды.
ты сам себе противоречишь: если код "для всех", то рано или поздно тебе придётся туда костылять какой-нить украинский, и это в лучшем случае. В utf-8 проблемы просто не существует.
конечно: первым быть всегда тяжелее. Ртуть куда как продуманнее, и там нет кривизны из гита.
-
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: Флейм о (не)?нужности юникода
Плевал я на всех. Мне удобно. А остальные хоть 64-битный хрюникод могут использовать.
Все равно я их не понимаю, не собираюсь понимать → не использую.
Называй как хочешь. УМВР. И без хрюникода — а это важно.
А то сейчас договорим до того, что ты хрюникод в микроконтроллеры предложишь пихать. Хотя, кое-какие [censored] туда жабку с пхытоном уже запихали...
Не придется: я и с кодом "для себя" особо не парюсь — gettext-то поддерживаю, но особо на русский не перевожу (нафиг?). А уж если туда какие-нибудь сербы захотят руку приложить, то ничего сложного: дописал свой po-файлик, вкомпилял в mo — вуаля!
Ну, а в консольке просто сменят КОИ8-Р на свою локаль. iconv из gettext'а все сделает. Если же какой-нибудь извращенец будет туда хрюникод пихать — пусть костыли дописывает (заменяет strlen, strcpy, strncmp и т.п.).
Ну так могли бы разрабы гита более современные версии получше сделать... А то даже элементарно писанина целиком команд напрягает!
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка

-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Флейм о (не)?нужности юникода
твоё право копаться в буквочках. Я не против, трать своё время.
не передёргивай. Я мелочью не занимаюсь, просто не в курсе.
не нужно их менять. Успокойся, ты в плену предрассудков. UTF-8 это те же байты, разница заметна лишь если ты их на буквы пилишь. А зачем тебе это? strlen/strcpy и так далее, отлично работают с utf-8. Всё точно также, без всяких проблем.
Попробуй, тебе понравиться.
ну это уже не ко мне.
-
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: Флейм о (не)?нужности юникода
Нет уж, спасибки. Вот когда Северный Кавказ будет частью Великой Китайской Империи, тогда уж волей-неволей придется на хрюникод переходить...
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка

-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Флейм о (не)?нужности юникода
понимаю твою иронию, но боюсь, придётся перейти намного раньше.
Посмотри лучше на мучения маздайщиков, которые не могут открыть архив сделанный в одной венде, из другой венды. Там тоже думали, что "одного языка хватит всем".
-
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: Флейм о (не)?нужности юникода
Надеюсь, я к тому времени буду заниматься совершенно другими вещами и хрюникод меня уже не будет интересовать (равно как и компьютеры вообще).
Это уж вообще высшая степень ССЗБизма. Наверное, связана она с органическим поражением головного мозга. Иной причины я придумать не могу.
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка

-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Флейм о (не)?нужности юникода
просто раньше альтернатив и не было. Проблема венды в том, что поменять ничего нельзя.
все там будем ☺
-
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: Флейм о (не)?нужности юникода
Очень даже были: ворованный юникс. Который, кстати, еще до мастдайки был. Просто [censored] мастдайка была первой графической оболочкой на PC, которые, к сожалению, получили значительную попсовость.
А пока суд да дело, мастдайка сильно въелась в неокрепшие мозги гуманитариев всего мира!
Я, вообще-то, о пенсии. Очень надеюсь до нее дожить. И еще пожить какое-то время. Ну, а вообще, если так и будет дальше продолжаться, то лет через 5-10 мне обязательно придется кардинально менять основной вид деятельности, т.к. я уже не смогу к компьютеру без рвотного рефлекса подходить!
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка

-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Флейм о (не)?нужности юникода
ты не понял: и в ворованном юниксе, и даже в десятой слаке никакого юникода не было. UTF-8 появилась недавно, а раньше — увы.
это который с KOI8-R? Понимаю.
-
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: Флейм о (не)?нужности юникода
А, я думал, что ты про мастдайку.
При чем здесь кодировка? Я вообще о том, что линукс скатывается в такую задницу, что еще несколько лет, и им пользоваться станет невозможно! FreeBSD до сих пор не готова для десктопа. Мастдайка как была игровой прошивкой, так еще больше скатилась — "восьмерочку" вообще невозможно назвать операционной системой. Гей-ось? Ну, менять ориентацию я не собираюсь...
Вот, вроде, и все. Всякие ректалОСы не рассматриваем — они вообще сырые.
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка

-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
Re: Флейм о (не)?нужности юникода
что не так? У меня всё нормально.
-
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: Флейм о (не)?нужности юникода
Даже в генту уже мало-помалу systemd пропихивают. Пока, тьфу-тьфу, все ОК, но, чует моя задница, наступит капец!
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка

-
- Сообщения: 8735
- Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
- ОС: Slackware-current
-
- Сообщения: 3321
- Статус: Красный глаз тролля
- ОС: ArchLinux
Re: Флейм о (не)?нужности юникода
До поры, до времени!
Если без этого [censored] перестанут собираться пакеты, ничего не поделаешь! Не будешь же на дистрибутиве без обновлений до смерти сидеть! Это где ж столько железа однотипного напастись-то? Да и мало ли: может, софт какой интересный новый захочется поставить?
RTFM
-------
KOI8-R - патриотичная кодировка
-------
KOI8-R - патриотичная кодировка

-
- Сообщения: 3728
- Статус: Многоуважаемый джинн...
- ОС: Slackware64-14.1/14.2
Re: Флейм о (не)?нужности юникода
Как знать...
Во-первых, не вижу причин, почему абсолютно все программы должны перестать компилироваться без systemd.
Во-вторых, сейчас в слаке, к примеру, для ModemManager есть файл под названием WeDoNotHaveSystemD.patch.gz
Если оно есть сейчас, не вижу причин почему его не будет в дальнейшем.
Благо, далеко не все программы жестко завязаны на systemd.
Кроме того, я уже говорил когда-то, что systemd может постигнуть та же участь, что и hal.
А дальше начнётся новый виток развития.
-
- Сообщения: 1354
Re: Флейм о (не)?нужности юникода
Не абсолютно все, достаточно некоторых больших и критичных. А причина проста -- элементарная человеческая лень. systemd предоставляет разработчиками софта возможность НЕ писать самим отдельные фрагменты, потом, из-за единодушного принятия дистрибутивами systemd, НЕ писать поддержку еще и под ConsoleKit. Не писать то, не писать другое...Во-первых, не вижу причин, почему абсолютно все программы должны перестать компилироваться без systemd.
Если вы ещё не попадали в ситуацию, когда софт прежней версии перестаёт собираться в новом окружении, то ваш оптимизм понятен. К сожалению, подобное происходит слишком часто само по себе, а уж организовать такую несовместимость -- вообще раз плюнуть...Во-вторых, сейчас в слаке, к примеру, для ModemManager есть файл под названием WeDoNotHaveSystemD.patch.gz
Если оно есть сейчас, не вижу причин почему его не будет в дальнейшем.
Может. Но за systemd стоит Red Hat, который такому сценарию шансов на развитие не даст.systemd может постигнуть та же участь, что и hal.