akfavatar.utf8(3)                                            akfavatar.utf8(3)



NNAAMMEE
       akfavatar.utf8 - Module für UTF-8 Unterstützung in Lua-AKFAvatar

SSYYNNTTAAXX
       local utf8 = require "akfavatar.utf8"

BBEESSCCHHRREEIIBBUUNNGG
       Dieses  Modul  definiert  Funktionen  für  UTF-8 Strings.  Viele dieser
       Funktionen dienen als Ersatz für Funktionen in Luas String-Bibliothek.

       UTF-8 ist eine Zeichen-Kodierung für  Unicode.  Ein  Zeichen  kann  mit
       einem  bis vier Byte kodiert sein. Darum wird eine besondere Behandlung
       erforderlich.  Die meisten Funktionen  der  String-Bibliothek  von  Lua
       können nämlich nur mit Kodierungen mit einem Byte pro Zeichen umgehen.

       uuttff88..lleenn((_S_t_r_i_n_g))
              Zählt die Anzahl der Zeichen in einem UTF-8 kodierten _S_t_r_i_n_g.
              HHiinnwweeiiss:  Steuerzeichen  und  unsichtbare  Zeichen  werden  auch
              gezählt.

       uuttff88..ssuubb((_S_t_r_i_n_g_, _A_n_f_a_n_g_s_z_e_i_c_h_e_n _[_,_E_n_d_z_e_i_c_h_e_n_]))
              Wie ssttrriinngg..ssuubb, aber für UTF-8 Strings.

              Gibt den Teilstring von _A_n_f_a_n_g_s_z_e_i_c_h_e_n  bis  _E_n_d_z_e_i_c_h_e_n  zurück.
              Falls  _A_n_f_a_n_g_s_z_e_i_c_h_e_n  oder _E_n_d_z_e_i_c_h_e_n negativ sind, dann werden
              sie vom Ende des Strings gezählt.
              Also, utf8.sub(s, 1,  3)  gibt  die  ersten  3  Zeichen  zurück,
              während utf8.sub(s, -3) die letzten 3 Zeichen zurück gibt.

       uuttff88..cchhaarr((_._._.))
              Wie  ssttrriinngg..cchhaarr, aber es akzeptiert höhere Werte und gibt einen
              UTF-8 kodierten String zurück.

       uuttff88..ccooddeeppooiinntt((_S_t_r_i_n_g))
              Gibt den Codepoint des ersten Zeichens des _S_t_r_i_n_gs zurück.
              Im Falle eines Fehlers gibt es _n_i_l zurück (aber  das  ist  keine
              richtige Gültigkeitsprüfung).

       uuttff88..ccooddeeppooiinnttss((_S_t_r_i_n_g _[_,_A_n_f_a_n_g_s_z_e_i_c_h_e_n _[_,_E_n_d_z_e_i_c_h_e_n_]_]))
              Wie ssttrriinngg..bbyyttee.
              Gibt die Unicode-Werte von _A_n_f_a_n_g_s_z_e_i_c_h_e_n bis _E_n_d_z_e_i_c_h_e_n zurück.
              Wenn  man nur das erste Zeichen benötigt, sollte man stattdessen
              uuttff88..ccooddeeppooiinntt(()) verwenden.

       uuttff88..cchhaarraacctteerrss((_S_t_r_i_n_g))
              Iterator für die einzelnen Zeichen eines UTF-8 Strings.
              Ein Zeichen kann ein Einzelbyte oder Multibyte-String sein.

              Anwendungsbeispiel:
                for c in utf8.characters(line) do print(utf8.codepoint(c)) end

       uuttff88..rreevveerrssee((_S_t_r_i_n_g))
              Dreht einen UTF-8 _S_t_r_i_n_g um.
              HHiinnwweeiiss: Kombinationszeichen sind noch problematisch.

       uuttff88..rreepp((_S_t_r_i_n_g_, _n))
              Gibt den _S_t_r_i_n_g _n mal wiederholt zurück.  Dies ist nur ein Alias
              für ssttrriinngg..rreepp(()).

       uuttff88..uunnddeerrlliinneedd((_S_t_r_i_n_g))
              Gibt den _S_t_r_i_n_g unterstrichen zurück (Overstrike-Technik).

       uuttff88..bboolldd((_S_t_r_i_n_g))
              Gibt den _S_t_r_i_n_g fett gedruckt zurück (Overstrike-Technik).

       uuttff88..bboomm
              Byte Order Mark.
              Das  wird  bei UTF-8 zwar nicht benötigt, wird aber manchmal als
              Signatur eingesetzt.

       uuttff88..cchheecckk__bboomm((_S_t_r_i_n_g))
              Überprüft, ob der _S_t_r_i_n_g mit einem UTF-8-BOM anfängt.

       uuttff88..cchheecckk((_S_t_r_i_n_g))
              Überprüft, ob der _S_t_r_i_n_g in UTF-8 kodiert ist.
              Es ist nur eine Überprüfung ob UTF-8 oder nicht,  es  ist  keine
              Gültigkeitsüberprüfung.
              HHiinnwweeiiss: reines ASCII ist auch gültiges UTF-8.

       uuttff88..cchheecckk__uunniiccooddee((_S_t_r_i_n_g))
              Überprüft den String auf Unicode-Kodierungen.
              Gibt  eines  von  "UTF-8",  "UTF-16BE",  UTF-16LE",  "UTF-32BE",
              "UTF-32LE"  zurück,  oder  _n_i_l,  wenn  keine  Unicode  Kodierung
              erkannt wird.

       uuttff88..ffrroomm__nnccrr((_S_t_r_i_n_g))
              Ersetzt Numeric Character References (NCR) mit UTF-8 Zeichen.
              Zum  Beispiel  "&#8364;" (dezimal) oder "&#x20AC;" (hexadezimal)
              für das Euro Währungszeichen.

       uuttff88..ttoo__nnccrr((_S_t_r_i_n_g))
              Ersetzt nicht-ASCII Zeichen mit  NCRs.   Das  Ergebnis  ist  ein
              reiner ASCII-String, aber kodiert.

       uuttff88..ffrroomm__llaattiinn11((_S_t_r_i_n_g))
              Konvertiert einen _S_t_r_i_n_g von Latin-1 (ISO-8859-1) nach UTF-8.

       uuttff88..ttoo__llaattiinn11((_S_t_r_i_n_g _[_,_E_r_s_a_t_z_]))
              Konvertiert   einen  UTF-8  _S_t_r_i_n_g  nach  Latin-1  (ISO-8859-1).
              Zeichen, die nicht konvertiert werden können, werden  durch  den
              _E_r_s_a_t_z-String ersetzt, oder durch "\x1A" wenn kein _E_r_s_a_t_z-String
              angegeben ist.

SSIIEEHHEE AAUUCCHH
       lluuaa--aakkffaavvaattaarr(1) lluuaa(1) lluuaa--aakkffaavvaattaarr--rreeff(3) aakkffaavvaattaarr--ggrraapphhiicc(3) aakkffaa‐‐
       vvaattaarr--tteerrmm(3)



AKFAvatar                         2012-07-22                 akfavatar.utf8(3)
