Aroch
> Вот тебе верный вариант как должно быть
Очевидно, нет. У тебя даже на выводе текст поехал.
Арабская консоль выглядит вот так:
А у тебя - говно.
beejah
> У тебя даже на выводе текст поехал.
Это из-за не моноширинного шрифта:
---------Hello World -------مرحبا بالعالم
desss
> Это не из-за моноширинного шрифта:
Нет. Это из-за того, что наоборот все выводится.
beejah
> Нет. Это из-за того, что наоборот все выводится.
А вот и нет.
Непрерывный список арабских букв переворачивается на месте не прибиваясь вправо, латинские вставки в них переворачиваются обратно.
Арабский текст выводится с выравнием влево, если ничего специально не делать.
Он такой в консоли, потому что в локали выравнивание по-умолчанию вправо.
desss
> Непрерывный список арабских букв переворачивается на месте, латинские вставки в
> них переворачиваются обратно.
> Арабский текст выводится с выравнием влево, если ничего специально не делать.
> Он такой в консоли, потому что в локали выравние вправо.
Стоп. В какой локали?
Ребята, вы арабский текст выводите в латинскую консоль, и поэтому у кого-то что-то там "неправильно работает"?
desss
выходит в памяти арабский лежит также как и выводится, 0 символ - последний читаемый символ.
beejah
> поэтому у кого-то что-то там "неправильно работает"?
Да мне насрать если честно.
Мне интересно кто прав:
beejah или Aroch
И по-моему, оба не до конца правы.
> Ребята, вы арабский текст выводите в латинскую консоль
Для текста прибитого направо leftpad не актуален очевидно.
desss
> Для текста прибитого направо leftpad не акутален очевидно.
Если у тебя весь дизаин заточен под отступ с одной стороны (визуально), то при любом языке он должен сохраняться.
Чё-то вы тут загнались с арабскими строками.
Оригинальный left-pad добавлял пробелы в начале строки, там, где индексы начинаются с 0.
Aroch
> выходит в памяти арабский лежит также как и выводится, 0 символ - последний читаемый символ.
Нет, посмотри в любом онлайн конвертере юникода.
Он лежит в памяти в порядке чтения - справа налево. Можно сказать в прямом, а при выводе переворачивается.
Похоже просто всё, что корректно отображает unicode, само переворачивает при выводе.
А прибитие текста к левой стороне или правой вообще отдельная тема.
Aroch
> Если у тебя весь дизаин заточен под отступ с одной стороны (визуально), то при
> любом языке он должен сохраняться.
Да что ты говоришь. Ты под right-to-left верстку гуи целиком ручками переделывать будешь или просто отдашь, как есть?
desss
ну либо в C# reordening строки происходит даже на уровне индексации:
https://ideone.com/FePh4E
Aroch
> выходит в памяти арабский лежит также как и выводится, 0 символ - последний
> читаемый символ.
Нет. Вводить ты как будешь текст в строку? С конца набирать?
Или в памяти на каждом символе перекладывать?
Aroch
> ну либо в C# reordening строки происходит даже на уровне индексации:
Бъ. Ты выводишь текст наоборот. У тебя белиберда там написана.
Код отрабатывает правильно.
beejah
> Да что ты говоришь. Ты под right-to-left верстку гуи целиком ручками
> переделывать будешь или просто отдашь, как есть?
встречный вопрос, что ты будешь делать для смешанного текста? Пишется у тебя лог например на куче языках, тебе надо сделать отступ слева, потому что виджет хочет в этом месте нарисовать какую-нибудь графику.
Тема в архиве.