Ponieważ wydaje mi się, że trochę uderzyłem, myśląc, że Windows „robi to dobrze”, uważam, że powinienem opublikować odpowiedź, aby uzasadnić swoją pozycję.
Faktem jest, że tekst, który masz, mówi systemowi operacyjnemu, aby renderował niesamowitą ilość łączonych znaków. Problem, który jeden system operacyjny faktycznie renderuje, a inny nie, wynika z wielu problemów. Jednym z tych problemów jest to, jak dokładni byli programiści, kiedy pisali kod, aby je renderować, inny byłby spowodowany tym, że programiści byli zbyt leniwi, aby je właściwie wdrożyć, jeśli w ogóle.
Zasadniczo sprowadza się to do tego, że języki pisane są płynnymi rzeczami i że wiele znaków w niektórych językach ma wiele różnych znaków diakrytycznych, które stosuje się w celu modyfikacji wymowy znaków. Jak radzimy sobie z tymi wszystkimi znakami diakrytycznymi, czy nadajemy każdej literze znak diakrytyczny nowy znak (co skutkowałoby jedną dużą liczbą nowych i prawie identycznych znaków), czy też tworzymy zestaw znaków specjalnie dla znaków diakrytycznych i zmniejszamy nasz ogólny alfabet?
Unicode daje nam możliwość zrobienia obu tych rzeczy, ale robiąc to, programiści, którzy muszą wyrenderować te znaki diakrytyczne, muszą poradzić sobie z faktem, że niektóre znaki mają wiele znaków diakrytycznych, jeden powyżej i jeden poniżej, a następnie programista ma zadać pytanie, kiedy przestaną. Mogą ograniczyć go do dwóch i zadowolić większość ludzi, ale zignorować tych, którzy chcą lub potrzebują trzech znaków diakrytycznych, aby formalnie pisać w swoim własnym języku.
Microsoft, czy to słusznie, czy nie, postanowił pozwolić użytkownikowi zdecydować, ile dodatkowych znaków osoba chce użyć. Ta ścieżka wymaga raczej dobrego programisty i trudnej racjonalizacji. W pełni ich popieram, zarówno pozwalając na to, jak i na to, że robią to dobrze .
Z drugiej strony, gdyby te postacie zaginęły, chciałbym wiedzieć, dlaczego ich nie ma. Czy była to decyzja „upuszczamy to na podłogę po x
znakach diakrytycznych”, czy może dlatego, że programiści byli zbyt leniwi, aby zrobić to właściwie i potencjalnie narażali mnie na przepełnienie bufora z kodem ukrytym w znakach diakrytycznych, który został wydany do wykonania przez system?
Prostym problemem jest to, że poprzez renderowanie tych postaci widzę, że system robi dokładnie to, co mu polecono, zamiast robić to, co uważa za słuszne, lub, co gorsza, robi coś potencjalnie szkodliwego .