Używając Ruby, muszę wysyłać ciągi w formacie kolumnowym do terminala. Coś takiego:Ruby: Sprawdzanie szerokości wschodnioazjatyckiej (Unicode)
| row 1 | a string here | etc
| row 2 | another string | etc
mogę zrobić to dobrze ze znaków UTF8 Łacińskiej korzystających String # Ljust% s.
Ale problem pojawia się, gdy bohaterowie są koreański, chiński, itd. W kolumnach po prostu nie będzie wyrównać gdy istnieją wiersze angielskim przeplatane z wierszy zawierających koreański, itp
Jak mogę uzyskać wyrównanie kolumny tutaj ? Czy istnieje sposób na wyprowadzanie znaków azjatyckich w odpowiedniku czcionki o stałej szerokości? Co powiesz na dokumenty, które mają być wyświetlane i edytowane w Vim?
Używając vima, masz ustawienie ''guifontwide'', które pozwala ci wybrać czcionkę o podwójnej szerokości dla tekstu azjatyckiego. – Benoit
Twój wybór słów jest bardzo słaby. Azja to bardzo duże miejsce z wieloma krajami, językami i systemami pisania. – koan
@dan Problem dotyczy tylko języków koreańskich/chińskich/... {asian} lub dowolnego znaku, którego 'len()' jest większe niż 1 (na przykład '« '). Jeśli tak, to aby uzyskać rzeczywistą długość tekstu, użyj 'len (split (str, '\ zs'))' zamiast 'len (str)' (vim-7.2, 'strwidth (str)' na vim- 7.3). – ZyX