Aroch
Но не суть. Как так получилось, что ты говоришь:
"символы должны добавляться справа".
Спецификация говорит:
"символы должны добавлятся справа".
А они добавляются слева. В чем же подвох?
Что именно неправильно?
Aroch
> но вместо этого они схитрили.
Да? Ну скопипасть туда текст без управляющих символов вообще.
Если твое предположение верно и
> она просто игнорит управляющие символы и приводит всю строку к right to left
мы словим лулзов от зеркальной латыни.
Получилось?
Aroch
Смотри:
using System;
public class Test
{
public static void Main()
{
string str_02 = "مرحبا بالعالم";
Console.WriteLine(str_02.PadLeft(20,'م'));
}
}
Вывод:
ممممممممرحبا بالعالم
Улавливаешь?
beejah
> мы словим лулзов от зеркальной латыни.
> Получилось?
https://ideone.com/VImQCx Копируй весь вывод и лови лулзы.
beejah
> Я - не очень. CurrentCulture что-то не помогает.
Я делаю только такой вывод что если мы заполняем символами не из набора языков с right to left то падинг визуально слева, иначе справа. В "твоем" редакторе при вставке тоже каша получается.
Aroch
> В "твоем" редакторе при вставке тоже каша получается.
Нет, не получается. Все ровно.
Текст - справа налево. Латиница - слева направо. Все левые паддинги - справа.
Всё норм.
Aroch
> Я делаю только такой вывод что если мы заполняем символами не из набора языков
> с right to left то падинг визуально слева, иначе справа
Это не вывод, я тебе это экспериментально показал.
А вывод - это даже не вывод, это капитан очевидность говорит -
в LTR культуре текст, за исключением RTL-текста, выводится слева направо, и левые паддинги - слева.
в RTL - текст, за исключением LTR-текста, выводится справа налево, и левые паддинги - справа.
Что тут не понятно? Что тут, блин, вообще может не работать?
Просто берешь и суешь символы в начало строки. Вот и весь leftpadding, и он так везде работает. Должен, по крайней мере.
Иначе ты текст поломаешь.
beejah
> в RTL - текст, за исключением LTR-текста, выводится справа налево, и левые
> паддинги - справа.
ну и сравни где паддинг для
iiiiiiiiiHello World
и где для
---------Hello World
оба текста LTR
Т.е по поводу шарпа - я вижу, что все работает правильно, согласно спецификациям, а твое предположение о том, что leftpadding для RTL текста добавляет паддинги слева, либо в конец строки - неверное, потому что этим спецификациям противоречит. Пруф, повторюсь:
https://msdn.microsoft.com/en-us/library/92h5dc07(v=vs.110).aspx
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
> ну и сравни где паддинг для
> iiiiiiiiiHello World
> и где для
> ---------Hello World
> оба текста LTR
Нет. LTR - это LTR, Most alphabetic and syllabic characters, Han ideographs, non-European or non-Arabic digits, LRM character, ...
А "-" - это European Separator, он weak.
Если верить https://en.wikipedia.org/wiki/Bi-directional_text.
Т.е у меня все правильно, вот так -
iiiiiiiiiHello World
---------Hello World во, перевернул на копипасте. Потому и weak. Короче, у арабов эти минусы справа.
Так и должно быть. Т.е там нет никаких управляющих символов. Скорее всего, они автоматически ниоткуда и не появлялись.
Подустали? Может теперь в вебе потренируетесь?
entryway
Не катит, у тебя лефтпада нет. Иди качай с репозитория и возвращайся.
А так - говно какое-то - мозилла по auto выставляет RTL тупо если арабский в тексте есть.
Или ты паддинг неправильно делаешь.
Вот бы всем бананов за оффтопик выписать. Тут страниц на 40 доказательного материала наберется.
ArchiDevil
> Вот бы всем бананов за оффтопик выписать.
Во флейме?! 0_o
שָׁלוֹם
Тема в архиве.