![](https://www.dsi-keyboards.com/wp-content/uploads/2015/03/KA-Hebrew-20826.jpg)
Гнездилище улучшайзеров
Давно известно, что идеальная среда для самозарождения этого сучьего племени - местa, где языки смыкаются с жопой.
Сайт нашей медицинской компании сделал себе силикон facelift. Обычно криворукие ебланы в таких случаях первым делом засовывают самые нужные кнопки и линки куда поглубже, выставляя на первый план какую-нибудь анимированную рекламно-завлекательную срамоту, и этим ограничиваются. В этот раз всё оказалось хуже.
Теперь, когда доберёшься до странички логина с его двумя полями username/password, в каждом поле направление клавиатуры - справа налево (RTL), чтоб удобно было печатать простой кухарке, не переключаясь с фейсбука на маме-лошн.
Первое поле - 10-значный номер ID, с ним больших проблем нет.
Дело в том, что ивритская клавиатура не просто RTL. Курсор передвигается налево, если нажимаешь на клавиши ивритской клавиатуры, включая пробел. Однако если ты набираешь цифры 0,1,...9, то курсор переключается в режим LTR и начинает двигаться налево после нажатия цифры. Как только появляется ивритская буква или пробел, направление RTL включается снова, но если вслед за пробелом снова будут цифры, то задним числом предыдущий пробел переназначается LTR-пробелом, и далее по индукции. Правило не очень хитрое, но в принципе запоминаемое, раздражает, что курсор скачет.
Кабы не знаки препинания, всякие точки, запятые, восклицательные знаки и т.п. Они по умолчанию считаются RTL, если только они не разделяют цифры или латинские LTR-символы: тогда их задним числом переоформляют в LTR-символы. Что происходит, когда знаки препинания разделяют еврейскую и латинскую букву, а ещё в комбинации с пробелом (так иногда, увы, бывает!), лучше не задумываться. Задача-"гроб" - предсказать, какая скобка появится на экране при нажатии одной из двух соответствующих клавиш.
10 цифр, идущих подряд, - легко ввести. А вот в поле пароля, в соответствии с веяниями моды, надо вводить только большие и маленькие латинские буквы, перемежаемые разными не alphanumeric символами. И тут засада: оказывается, что в RTL-поле все знаки препинания по умолчанию считаются RTL!!! Но знаки типа &^$#*@ не считаются знаками препинания, и так же как цифры, являются LTR-символами.
В результате если я копирую пароль из RTL-поля в свою паролехранилку стандартным аккордом Ctrl-A Ctrl-C Ctrl-V, то вижу два совершенно разных результата. Пришлось завести в соответствующей "карточке" ещё одно поле и записать туда то, что я вижу, вводя пароль на сайте. Хорошо ещё, что эти сукины дети предусмотрели "глаз", и пароль на сайте можно вводить не вслепую.
И ведь слышали наверняка криворукие ебланы, что во всём мире пароли специально требуют только ASCII 32-127! בני זונה, fdp, tdc, cons de leur tête!