Mit Ruby muss ich Strings in einem Spaltenformat an das Terminal ausgeben. So etwas wie das:Ruby: Prüfung auf ostasiatische Breite (Unicode)
| row 1 | a string here | etc
| row 2 | another string | etc
Ich kann dies gut mit lateinischen UTF8 Zeichen mit String # ljust und% s.
Aber ein Problem entsteht, wenn die Charaktere sind Koreanisch, Chinesisch, usw. Die Spalten einfach nicht ausrichten, wenn es Zeilen der englischen Sprache durchsetzt mit Zeilen mit koreanischen usw.
Wie kann ich Spaltenausrichtung erhalten hier ? Gibt es eine Möglichkeit, asiatische Zeichen im Format einer Schriftart mit fester Breite auszugeben? Wie wäre es mit Dokumenten, die in Vim angezeigt und bearbeitet werden sollen?
Mit vim haben Sie die Einstellung '' guiontwide' ', mit der Sie eine Schriftart mit doppelter Breite für asiatischen Text auswählen können. – Benoit
Ihre Wortwahl ist sehr schlecht. Asien ist ein sehr großer Ort mit vielen Ländern, Sprachen und Schreibsystemen. – koan
@dan Es ist das Problem mit nur koreanischen/chinesischen/... {asiatischen} Sprachen oder mit irgendeinem Zeichen, dessen 'len()' größer als 1 ist (zum Beispiel '' '). Wenn dies der Fall ist, verwenden Sie 'len (split (str, '\ zs'))' anstelle von 'len (str)' (vim-7.2, 'strwidth (str)' auf vim-), um die tatsächliche Länge des Textes zu erhalten. 7.3). – ZyX