beejah
> Бъ. Ты выводишь текст наоборот. У тебя белиберда там написана.
ты ерунду несешь. Введи по буквам сам и у тебя тоже самое получится, ОС автоматом будет вводить справа налево.
Aroch
> встречный вопрос, что ты будешь делать для смешанного текста? Пишется у тебя
> лог например на куче языках, тебе надо сделать отступ слева,
> потому что виджет
> хочет в этом месте нарисовать какую-нибудь графику.
Ничего не понял. Пишется куда? В файл? В консоль? Туда виджет ничего не нарисует.
В окно или браузер? Так там у тебя отдельно будет выравнивание виджетов, отдельно - для текста внутри этих виджетов.
Как оно будет выглядеть - это уже как конкретно разработчики гуевой библиотеки предусмотрели (или ты, если они не предусмотрели).
Но если у тебя в left-to-right у текста отступ слева - то в right-to-left он будет справа.
Если текст смешанный - то тут, конечно, мандец. Но для лефтпада это не важно - он в любом случае добавляет в начало (не слева или справа, а в начало) строки пробелы. Другой логики просто быть не может.
beejah
> Если текст смешанный - то тут, конечно, мандец.
чего же в c# всё ок тогда?
Aroch
> чего же в c# всё ок тогда?
Именно поэтому. У тебя сейчас паддинг отработал для left-to-right текста, а сбоку прилепил кусок арабского.
Только что в этом окай? Текст изначально какой был?
beejah
> У тебя сейчас паддинг отработал для left-to-right текста, а сбоку прилепил
> кусок арабского.
ох, лол да удали тот текст, я уже просто когда редактировал оставил, изначально там не было, результат будет тот же.
Aroch
> Должен добавлять символы сначала строки (отображение)
> > А где начало строки (отображение)? Справа или слева?
> справа.
Ну. Что тут окай? В твоем примере добавляет слева.
Ты мне сейчас показываешь вывод, который, по твоему мнению, неправильный. И он же - правильный.
Одновременно.
Еще раз. В чем проблема в жава?
В том, что там лефтпад работает не так, как отработал в шарпе, но так, как он, по твоему мнению, должен?
Значит, проблема в шарпе.
Реально, ты задрал переобуваться.
Я вообще не знаю, как он дрлжен отрабатывать в жаве, там вообще не специфицировано.
Но он не может одновременно отрабатывать двумя способами - и "правильно", и "правильно, но наоборот".
В этом проблема, лол?
Прогоните эту херню на жаве кто-нибудь, у кого под рукой, сраный идеон что-то не видит, по-ходу, апачевские пакаджи.
The PadLeft(Int32, Char) method pads the beginning of the returned string. This means that, when used with right-to-left languages, it pads the right portion of the string.
Ну епт. А у нас шарп - что визуально, что в памяти - слева падит.
Это вообще не арабская строка. Просто набор букв. Т.е либо вывод, либо представление - неверное.
Aroch
Неверно твой код отработал. Т.е это уже не я говорю, а шарповая спецификация.
Либо под "right" они имели в виду "как угодно".
Что-то подгорает? :^)
beejah
> Это вообще не арабская строка. Просто набор букв.
да ладно? Ну покажи тогда мне арабскую строку :)
Aroch
> да ладно? Ну покажи тогда мне арабскую строку :)
Не вопрос. Просто скопипасть вывод своей программы сюда:
http://www.arabic-keyboard.org/editor/
Вот тут я вижу - да, лефтпад.
Сейчас понятно, или объяснить?
Помню недавно смеялись с 'import export', а тут значит leftpad который делает падинг справа. )))))
beejah
> Не вопрос. Просто скопипасть вывод своей программы сюда:
ничего что она просто игнорит управляющие символы и приводит всю строку к right to left?
http://www.unicode.org/reports/tr9/#Directional_Formatting_Characters
Aroch
> ничего что она просто игнорит управляющие символы и приводит всю строку к right
> to left?
Ничего. А они там есть, кстати, эти символы?
beejah
> Ничего. А они там есть, кстати, эти символы?
А ты при выделении строки не замечаешь? Я тоже сперва думал что в c# для такого падинга они вынуждены добавлять символы в конец строки, но вместо этого они схитрили.
Тема в архиве.