LINUX.ORG.RU

Unicode 8.0

 , , ,


3

3

Unicode Consortium выпустил новую версию стандарта кодирования текстов Unicode — 8.0.

Самым нашумевшим изменением в новой версии стал стандарт для обозначения цвета кожи для символов эмодзи. Эти символы, появившиеся изначально в японской индустрии сотовых телефонов, на многих устройствах отображаются цветными, причём в виде человеческих лиц со светлым цветом кожи, а не в виде более или менее абстрактных «смайликов». Стандарт это разрешает и даже в некоторой степени регламентирует. Однако многие пользователи были недовольны тем фактом, что эти смайлики всегда отображаются с одним и тем же цветом кожи, чаще всего светлым, так что невозможно было, скажем, вставить символ U+1F478 PRINCESS 👸 так, чтобы эта принцесса была негритянкой.

Теперь такая возможность есть. Символы с U+1F3FB по U+1F3FF будут сделаны модификаторами для эмодзи, обозначающими шесть тонов кожи по шкале Фитцпатрика (первый — самый светлый, шестой — самый тёмный, но первый и второй тона не различаются). Символ эмодзи, за которым следует один из этих модификаторов, должен будет отображаться соответствующим цветом. Таким образом U+1F478 + U+1F3FB = 👸🏻 (белая принцесса), U+1F478 + U+1F3FD = 👸🏽 (смуглая принцесса), а U+1F478 + U+1F3FF = 👸🏿 (чёрная принцесса). Эмодзи без указания цвета кожи следует отображать в нейтральном, неестественном цвете, например, жёлто-оранжевом.

Возможность вставки в текст «разноцветных» эмодзи уже появилась в последних версиях ПО от Apple — основного лоббиста нововведения. Вероятно, пользователи Mac OS X и iOS увидят эффект даже в этом тексте, если только в этой новости показ эмодзи картинками не будет отключён настройками сайта или браузера.

Консорциум отмечает, что хотя добавленных функций не хватит, чтобы отразить всё разнообразие вида Homo Sapiens (например, нельзя сделать «азиатское лицо» или U+1F46A FAMILY 👪 с несколькими разными цветами кожи), всё же основная задача Юникода — кодирование текстов, поэтому сложные изображения следует пересылать в виде изображений.

Не обошлось без курьёзов. Например, некоторые азиатские пользователи техники Apple не поняли, что «дефолтный» жёлтый — это нейтральный цвет, и решили, что это крайне оскорбительная расистская выходка.

Из менее забавных нововведений:

  • Знаки слогового письма Чероки в нижнем регистре в дополнение к уже имевшимся знакам Чероки.
  • Много новых унифицированных иероглифов CJK.
  • Добавлен символ грузинской валюты лари.
  • Добавлены символы языков ик, куланго и некоторых другх африканских языков.
  • Письменность ахом для одноимённого индийского языка.
  • Новые арабские буквы для арви — тамильского языка, записанного арабскими буквами.
  • В общей сложности 6 новых письменностей и 7716 новых символов.

Стоит отметить, что консорциум Unicode перешёл на новую схему выпусков. Теперь выпуск новых версий стандарта будет происходить в июне-июле каждого года. Увеличиваться будет старшая цифра версии (предыдущий выпуск был 7.0, следующий, предположительно, будет 9.0), кроме промежуточных выпусков, которые если и будут делаться, то только при острой необходимости. Это позволит тем, кому надо постоянно следить за стандартом, знать, когда готовиться к новому выпуску. Кардинальных изменений в структуре стандарта, вроде того, что произошло при переходе от Unicode 1.1 к 2.0 больше, предположительно, не будет никогда.

>>> Сообщение о выпуске

★★★★★

Проверено: Shaman007 ()
Последнее исправление: Shaman007 (всего исправлений: 4)
Ответ на: комментарий от KRoN73

Так это, вроде, дело ОС 😃

Так, теперь с самого начала. Я прошу fontconfig загрузить шрифт, потом посимвольно рисую запрашиваемые глифы. fontconfig выдает черно-белую маску символа, которую я использую для попиксельной отрисовки. Если установленный цвет не черный мне еще нужно будет сделать что-то вроде 0xFF0000 -> 0xFF / 256.0 * fonconfig_mask[x, y].

А теперь вопрос - какого хрена я должен встраивать в весь этот процесс вставку if symbol_code in [... ...], and next_symbol is princess, f*ck the render and draw image?

sambist ★★
()
Ответ на: комментарий от sambist

Мак? Скрин дашь?

Ага, макось. Скрин был кем-то дан выше.

andreyu ★★★★★
()
Ответ на: комментарий от buratino

По какому факту смайлы важны?

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

Legioner ★★★★★
()
Ответ на: комментарий от sambist

Так, теперь с самого начала. Я прошу fontconfig загрузить шрифт, потом посимвольно рисую запрашиваемые глифы. fontconfig выдает черно-белую маску символа, которую я использую для попиксельной отрисовки. Если установленный цвет не черный мне еще нужно будет сделать что-то вроде 0xFF0000 -> 0xFF / 256.0 * fonconfig_mask[x, y].

А теперь вопрос - какого хрена я должен встраивать в весь этот процесс вставку if symbol_code in [... ...], and next_symbol is princess, f*ck the render and draw image?

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

В твоём варианте, напрмер, как лигатуры рисуются? fi — тут, например.

Я вот открываю рандомное приложение (TextEdit), ввожу туда текст с этими смайлами и всё отрисовывается нормально. Даже в Terminal в vim всё отрисовывается нормально. Вот жаба не переварила, квадратики показала, потому что рисует сама и плохо.

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от sambist

А теперь вопрос - какого хрена я должен встраивать в весь этот процесс вставку if symbol_code in [... ...], and next_symbol is princess, f*ck the render and draw image?

С чего ты решил, что каждое приложение под Андроидом или МакОС имеет именно такой код? Эти символы рисуются в довольно древнем софте.

KRoN73 ★★★★★
()
Ответ на: комментарий от Legioner

Дайте строку-пример, приду домой, откомпилирую, покажу и сам посмотрю. Эмотиконы нормально рисуются.

sambist ★★
()
Ответ на: комментарий от Legioner

Я вот открываю рандомное приложение (TextEdit), ввожу туда текст с этими смайлами и всё отрисовывается нормально.

Цветные? Вопрос в *цветных*

sambist ★★
()
Ответ на: комментарий от sambist

Цветные, из текста новости. Даже в хроме в вводе URL отрисовались нормально и работают как положено. Можно там попробовать подглядеть, как реализовано. Может, конечно, и костылями, не знаю.

http://rghost.net/6gFmDMVWq/image.png

Legioner ★★★★★
()
Последнее исправление: Legioner (всего исправлений: 1)
Ответ на: комментарий от KRoN73

С чего ты решил, что каждое приложение под Андроидом или МакОС имеет именно такой код? Эти символы рисуются в довольно древнем софте.

Unicode 8.0 (комментарий)

sambist ★★
()
Ответ на: комментарий от sambist

Цветные? Вопрос в *цветных*

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

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

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

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

Он похоже через freetype рисует текст. Я давным давно ей пользовался, помню, что там по одному символу рисуются. В других библиотеках обычно используется другой подход — на вход подаётся rich text строка, ширина и высота поля ввода, место куда рисовать, а библиотека уже сама рисует всю строку с переносами и клиппингом. freetype слишком низкоуровневая и в этом плане действительно не покрывает рендер текста на 100%. Тут вопрос — покрывает ли она его на 100% без смайлов. Как минимум я знаю про лигатуры, когда два символа рисуются как один, правильно ли они там рисуются? Может быть есть и другие косяки.

А вообще отрисовка текста это тема довольно сложная. Недавно помню баг в iOS, из-за которого ОС крешилась при отрисовке определённого текста. Буквально SMS-кой аппарат превращался в почти кирпич.

Legioner ★★★★★
()
Ответ на: комментарий от Legioner

BTW эта кошечка у меня жёлтенькая, не в цвет шрифта.

Это еще что за шалаш? Даже бубунта себе такого не позволяет? Что у вас за ппц вместо рендера?

sambist ★★
()
Ответ на: комментарий от Legioner

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

Дайте пример такой строки и вечером получите рендер. Там к каждому символу идут смещения и размеры блока, вполне может быть, что уже учтено.

sambist ★★
()
Ответ на: комментарий от ptah_alexs

Интересно, на него колор-тег работает? Вот я покакал белым, но я не расист и хочу оранжево-желтое говно.

Hazowskey
()
Ответ на: комментарий от sambist

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

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

proud_anon ★★★★★
() автор топика
Последнее исправление: proud_anon (всего исправлений: 1)
Ответ на: комментарий от proud_anon

Это идиотизм. Аппле ввели у себя что-то типа фичи, а теперь пытаются протолкнуть ее (и таки протолкнули). В треде перепись макофилов, которые рьяно защищают этот кретинизм. Картинки в полях ввода. Что дальше? Звуковые символы? Возвращаемся к ASCII beep?

sambist ★★
()
Ответ на: комментарий от sambist

Аппле ввели у себя что-то типа фичи, а теперь пытаются протолкнуть ее (и таки протолкнули) (...) Картинки в полях ввода. Что дальше?

Аппле протолкнули только эти цвета кожи. Сами эмодзи (от яп. 絵 — картинка и 文字 — знак, символ) были заимствованы с японских сотовых телефонов, где они тоже отображаются в виде картинок. Только раньше они кодировались особым японским образом, а теперь они в Юникоде.

proud_anon ★★★★★
() автор топика
Последнее исправление: proud_anon (всего исправлений: 1)
Ответ на: комментарий от proud_anon

где они тоже отображаются в виде картинок.

😀😁😂😃😄😅😅😆😇😈😉😊😋😌😍😎😏😐😑😒😓😔😕😖😗😘😙😚😛😜😝😞😟😠😡😢😣😤😥😦😧😨😩😪😫😬😭😮😯😰😱😲😳😴😵😶😷😸😹😺😻😼😽😾😿🙀🙅🙆🙇🙈🙉🙊🙋🙌🙍🙎🙏

Просто символы. Не картинки. Это ок. Картинки в тексте, ещеи цветные - кака. Печатать как, например, если картинки отключены? С квадратами?

sambist ★★
()
Ответ на: комментарий от Nedis

Тi ваапщи с ношый плонiты ?

 

anonymous
()

а есть какой-нибудь веб-юникод-вьюер? скопировал квадратик, вставил туда, и увидел картинку

а то столько всего не показывается в теме :)

buratino ★★★★★
()
Ответ на:  nVidia от anonymous

Не прошло и пол года как на ЛОРЕ узнали про Unicode!

ЛОРЕ готов для десктопа

buratino ★★★★★
()

я шо то не понимаю, почему я вижу их цветными?

eR ★★★★★
()
Ответ на: комментарий от sambist

Возвращаемся к ASCII beep?

Не beep, а bell. BEL. И почему «возвращаемся»? Его никто не отменял :) Если у тебя echo -e "\a" не работает, то это твоя локальная проблема :)

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

последнее святое, что осталось, после того, как в HTML убрали MARQUEE

buratino ★★★★★
()
Ответ на: комментарий от Rastafarra

в музыкальную школу не ходил никогда=( ну хотя бы угадал ИМЯ!

Kompilainenn ★★★★★
()
Ответ на: комментарий от KRoN73

Ну что сказать, позор юникодному комитету :)

Спасибо, познавательно было.

robert_foster ★★
()

Шел 2015 год. Попытки идиотов перенумеровать все возможные символы продолжались.

ST
()
Ответ на: комментарий от reprimand

К закату белой цивилизации и мировому Халифату.

Sociopsih ★☆
()
Ответ на: комментарий от buratino

1912 год: - Дорогой мой, я в неописуемом восторге!

2012 год: - Гы :) +1! Пешы исчо!

Кину себе в цитатничек

Greh ★★
()
Ответ на: комментарий от Greh

Серии перепутали. Это должно было быть в следующих сериях.

asaw ★★★★★
()

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

justAmoment ★★★★★
()
Ответ на: комментарий от justAmoment

что это за, ё-маё, принцесса такая?

Очень просто:

- Привет, ты классная!

- Пасипки.

- Пойдём в падик семки погрызём, ягу пососём?

- Офигел, чтоли? Я - 👸🏻.

Greh ★★
()
Ответ на: комментарий от Greh

Т.е., если она ответит, что она белая принцесса, значит «обломись», а если нубийская принцесса, значит «готовь бабосы, ща буду»?

justAmoment ★★★★★
()
Ответ на: комментарий от justAmoment

Т.е., если она ответит

Я сейчас в молодёжи не разбираюсь. Говорят, тёлки в быдлоклассниках интимные фоточьки продают. А в контактике некоторые и так свои выкладывают. Там тёмный лес.

Greh ★★
()
Ответ на: комментарий от sambist

Т.е. с отключенными изображениями у вас все равно рисуются изображения. Зашибись.

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

proud_anon ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.