
Friedrich
03.09.2017
14:36:01
Он должен испытать невыносимые муки, мнятно?
И больше чтобы так не делал!

Vladislav
03.09.2017
14:36:21

Friedrich
03.09.2017
14:36:57

Google

Vladislav
03.09.2017
14:37:13

Ioann V
03.09.2017
14:37:38
Тогда такой вопрос, есть у меня ЮТФ 8 кодировочка в строке, и я ее хочу не вывести а нарисовать

Friedrich
03.09.2017
14:37:39
Ну то есть WriteConsoleA — это ANSI, OEM или UTF-8. Поди догадайся.

Ioann V
03.09.2017
14:37:46
Как узнать какой символ мне рисовать ?

Friedrich
03.09.2017
14:38:00
Кстати!

Vladislav
03.09.2017
14:38:04
по факту в винде нет utf16, ucs2 как сабсет

Ioann V
03.09.2017
14:38:11
А как к нему обратиться ?

Vladislav
03.09.2017
14:38:29

Ioann V
03.09.2017
14:38:29
Я допустим рисую с помощью openGl

Friedrich
03.09.2017
14:38:40
Если ты всё делаешь сам, то фигачь парсер шрифтового формата, и там как-нибудь векторно рисуй потом.

Google

Ioann V
03.09.2017
14:39:26
Аааа, эта инфа в шрифте хоронится

Friedrich
03.09.2017
14:39:29
Но я бы никому тут не советовал таким заниматься, конечно.

Ioann V
03.09.2017
14:39:34
тогда норма, да - все четко вобще
Ну опеджль не умеет в шрифты

Friedrich
03.09.2017
14:39:48
Я рисую шрифты сам. И это невыносимые страдания.

Ioann V
03.09.2017
14:39:51
и вулкан тоже как следствие

Vladislav
03.09.2017
14:40:05

Ioann V
03.09.2017
14:40:07

Friedrich
03.09.2017
14:40:15
При том, что я ещё использую библиотечные шрифты и рендер, а сам только загоняю это в SVG.

Matwey
03.09.2017
14:41:09

Friedrich
03.09.2017
14:41:20

Ioann V
03.09.2017
14:41:27
Невыносимые страдания это на вулкане настройку делать :) И потом вспоминать время от времени почему ты сделал так а не иначе. А все остальное, это чистая матеша. Теже шрифты - это просто простые сплайны, без самопересечений, кстати

Matwey
03.09.2017
14:41:49
Расскажи.
Я точно не помню синегальский это был язык или нет, поэтому не буду обманывать.

Friedrich
03.09.2017
14:42:57
вообще. писали, что в win10 консоль стала шоколадной c нормальной поддержкой utf8+ и всеми делами. был бы colinux жив, можно было бы заюзать
Я расскажу тебе.
1. Дефолтовая консоль осталась примерно в той же жопе, в какой была. Старые приложения, если они не работали, так и не заработают.
2. Добавили поддержку ANSI-кодов (можно каким-то флагом бинарника включить, вроде) — это работает.
3. В «Windows Subsystem for Linux», вроде как, работает UTF-8. Во всяком случае, я никаких существенных проблем не заметил. Эта подсистема пишет в ту же консоль, но реализация IO там сделана довольно хитро (что для пользовательского кода прозрачно).

Vladislav
03.09.2017
14:44:34

Friedrich
03.09.2017
14:45:05
ConEmu эту проблему решает. Во всяком случае, опять же, я давненько не встречал проблем.

Vladislav
03.09.2017
14:45:06
вплане консоль ансовая vs u**

Антон
03.09.2017
14:47:52
А еще в windows wchar_t это шорт, когда везде он инт

Ioann V
03.09.2017
14:48:07
Хорошо, когда есть с кем поболтать по душенькам :)

Google

Friedrich
03.09.2017
14:50:59

Vladislav
03.09.2017
14:51:37

Ioann V
03.09.2017
14:51:41
везде это не верно, т.к есть места где он может занимать и 8 бит

Friedrich
03.09.2017
14:51:41
Я вот почти наверняка видал контроллеры, на которых это алиас для char.

Vladislav
03.09.2017
14:51:55
w == wide

Ioann V
03.09.2017
14:52:21
v == vendetta

Friedrich
03.09.2017
14:52:39
http://icu-project.org/docs/papers/unicode_wchar_t.html
> may be 8, 16, or 32 bits wide (on modern machines), signed or unsigned

Vladislav
03.09.2017
14:52:46

Friedrich
03.09.2017
14:53:19
Иногда 8 бит это уже шире, чем поддерживает твой character set :)

Vladislav
03.09.2017
14:53:37

Friedrich
03.09.2017
14:54:18
ок. например?
Говорю же, на контроллерах всяких может быть запросто.
Им нафиг не упало париться ещё и с юникодом и кодировками, и потому делают самый простой вариант кодирования.

Vladislav
03.09.2017
14:54:50

Friedrich
03.09.2017
14:54:57
Не понял вопрос.
Да, были платформы, на которых регистры были не восьмибитовыми, но как это относится к source character set?
Ты можешь задефайнить, что у тебя charset — это 7-битный ANSI. И тогда восьмой бит действительно будет запасным :)

Vladislav
03.09.2017
14:55:50
на каких контроллерах char (не asm reg) может быть меньше 8 бит? мне любопытно
таких не знаю
charset != typeof char

Friedrich
03.09.2017
14:56:18
На очень-очень старых. Там в древности были варианты и с 6, и с 9 битами, если не путаю.

Google

Friedrich
03.09.2017
14:56:36
На современных, скорее всего, такой дичи нет уже очень давно.

Vladislav
03.09.2017
14:56:47
на них си было? если да, то что было с размером sizeof(char)

Friedrich
03.09.2017
14:56:56
Ещё были какие-то платформы с 16-битными чарами.

Vladislav
03.09.2017
14:57:23
больше может быть, ты говорил про меньше, нет?

Friedrich
03.09.2017
14:57:36
Да, говорил.

Evgeniy
03.09.2017
14:58:20

Admin
ERROR: S client not available

Evgeniy
03.09.2017
14:58:29

Friedrich
03.09.2017
14:58:31
На PDP-10 и каких-то мейнфреймах были 7- и 6-битные чары.

Антон
03.09.2017
15:02:00

Friedrich
03.09.2017
15:02:30
glibc
glibc имеет альтернативы даже в пределах Linux.
glibc — это ну вообще не «везде».

Антон
03.09.2017
15:03:18
ну много где

Friedrich
03.09.2017
15:03:33
Если честно, мне как раз 32-битные wchar_t кажутся более маргинальными.
Потому, что в POSIX-совместимых программах я их ни разу не видел, да и само устройство POSIX-совместимых ОС не очень-то поощряет их использование.
Все добрые дела там можно делать с помощью ввода-вывода на char. Для wchar_t места почти не находится.
Ну то есть да, там они 32 бита, но ими всё равно почти никто не пользуется, так что (почти) всем пофиг.

Антон
03.09.2017
15:08:40

Google

Ilia
03.09.2017
15:11:31

Friedrich
03.09.2017
15:12:34
Так раскрой им глаза!
Выше же обсудили. На самом деле UTF-16LE — это одна из возможных кодировок юникода. Не единственная, и, пожалуй, даже не самая часто используемая.

Vladislav
03.09.2017
15:13:55

Ivan
03.09.2017
16:02:03
Спасибо еще раз большое всем за помощь, я сильно продвинулся с таким кодом.

Ilia
03.09.2017
16:37:42
Да ладно, 3 дня на месте топтались

Ivan
03.09.2017
16:39:30
Да ладно, 3 дня на месте топтались
Ну благо я более менее себе представляют что все должно быть либо в одном типе данных либо уже сами потоки форматируются для вывода, вообще интересно, в питоне честно говоря такого драйва не испытываю, ну да работает вау и просто гуглишь.
Для регулярных выражений лучше boost использовать или что встроенное есть?

Ilia
03.09.2017
16:41:05
Std
Он уже в std

Ivan
03.09.2017
16:41:34
а <regex>

Ilia
03.09.2017
16:41:43
Ага
Только в GCC кажется до сих пор нет
Так что аккуратнее

fox.cpp
03.09.2017
16:42:50
есть же

Ilia
03.09.2017
16:43:15
Но Бустово это Мэддока,и это хорошо
есть же
Последний раз тв GCC. Было подстава, как я туда смотрел

Pavel
03.09.2017
18:20:13
В 4.8, который в этом долбаном центосе шестом, регексп работает странно