Zeichen eines Zeichensatzes

  • Hallo,

    bei der Arbeit am TTF-Treiber bin ich gerade über ein Problem gestolpert. GEOS unterstützt in der SBCS-Version nur max. 256 Zeichen. Da diese Einschränkung bereits bei der Anmeldung eines Fonts am System greift, ist es notwendig TTF-Fonts auf max. 256 Zeichen zu begrenzen. Eine Filterung im Treiber scheidet aus meiner Sicht aus da auch viele Geometriedaten, die der Treiber dem Kernel mitteilen muss, von den enthaltenen Zeichen abhängen. Ich habe ein wenig recherchiert und denke dass die Zeichensätze 'Basic-Latin' und 'Latin-1 Sup' ausreichen sollten. Ein Bild der enthaltenen Zeichen (die Sprachen Englisch und Deutsch sind damit abgedeckt; Schwedisch? Hans?) habe ich angehängt.

    Vermisst jemand noch ein Zeichen?

    In der DBCS-Version sollte diese Einschränkung dann nicht mehr greifen. Dort gibt es zwar auch wieder Grenzen, darüber kann man aber sprechen wenn es soweit ist.

    Jirka

  • Das wären natürlich nicht die originalen Geos-Zeichensätze. Die waren im Prinzip MacRoman, wobei drei Zeichen geändert wurden.

    Was bedeutet denn die Entscheidung für "Basic-Latin"? Welche Folgen hätte das? Das müßten wir ja wissen, um eine Entscheidung treffen zu können.

    Es ist doch eigentlich so, daß der Zeichensatz darstellen kann, was er will, kann MacRoman sein, Hebräisch, Griechisch, Klingonisch, ...
    Da Geos nur 256 Zeichen verwalten kann, kann es diese verschiedenen Zeichensätze und Alphabete dann nicht auseinanderhalten, dann muß der Anwender selber tun. Er muß dann darauf achten, welche Schriftart er verwendet.

    Wenn wir nun TTF-Zeichensätze nach dem Latin-Standard erstellen und Geos erwartet aber seinen normalen Zeichensatz - hat das irgendwo Nebenwirkungen? Die Tastenkombis für die ganzen Sonderzeichen und Akzentbuchstaben würden dann doch ganz andere Zeichen ausspucken!

    Sebastian

  • Gibt es nicht ein Mapping von GEOS-Zeichencode -> Unicode -> TTF-Character? Dann bräuchte man nur eine Mapping-Tabelle mal von den Spezielzeichensätzen abgesehen? Für alle anderen könnte man ähnlich wie wir für das Font-ID-Mapping diskutiert hatten, eine DB anlegen, die der Nutzer editieren kann.

    -Falk

  • Mit Rainer haben wir ja R-Basic um UTF-8 und etliche 256er Zeichensätze erweitert. Da haben wir viele Mapping-Tabellen :).
    Da muß man genau gucken, welchen Zeichensatz man braucht.
    So basieren viele auf ISO 8859 (die Variante -1 ist latin1). Der bekannteste Abkömmling ist Windows Codepage 1252 (Ansi). Ähnlich, aber doch verschieden. Werden nicht viele TTF-Schriften früher für Windows entworfen sein? Dann werden sie den Ansi-Zeichensatz und nicht Latin1 haben. Die von Jirka oben gezeigte Tabelle ist auch Ansi und nicht latin1.

  • Hallo Falk,

    Gibt es nicht ein Mapping von GEOS-Zeichencode -> Unicode -> TTF-Character? Dann bräuchte man nur eine Mapping-Tabelle mal von den Spezielzeichensätzen abgesehen? Für alle anderen könnte man ähnlich wie wir für das Font-ID-Mapping diskutiert hatten, eine DB anlegen, die der Nutzer editieren kann.

    -Falk

    ja, so wird es im Fontkonverter auch gemacht. Für mich stellt sich jetzt nur die Frage welchen GEOS Code wir dem Eurozeichen zuweisen. In der erweiterten ASCII Tabelle wird der Code 0x80 verwendet. Aktuell steht da noch das Zeichen UA_DIERESIS (ich habe auf die schnelle nicht finden können welches konkrete Zeichen dahinter steckt).

    Spricht etwas dagegen die Code 0x80 für das Eurozeichen zu verwenden?

    Jirka

    Es ist auch dein FreeGEOS!

  • Bei den bisherigen Geos-Fonts mit Euro-Zeichen wurde meines Wissens das „generische Währungssymbol“ durch das EUR-Zeichen ersetzt. Siehe auch http://www.geos-infobase.de/FNT/FONT1.HTM
    Also das Zeichen hier: #define C_CURRENCY 0xdb
    Eine Erklärung zu diesem komischen Symbol gibt es hier: https://de.wikipedia.org/wiki/Allgemeines_Währungssymbol

    There are two rules in life:
    1. Never give out all of the information.

  • Hallo,
    0x80 unter GEOS das Ä. Im Bereich 0x80 bis 0xA0 und 0xE0 bis 0xF4 liegen die ganzen Umlaute. Icb bin kein Experte aber ich sehe das so: Das generiche Symbol ist aus meiner Sicht ein "offizielles" Zeichen - das sollte man vielleicht besser nicht überschreiben. 0xB6, 0xB7, 0xB8, 0xBA und 0xC6 seinen unbenutzt zu sein - vielleicht eins davon. Wie müssen die Umlaute mappen, warum nicht auch das Euro? Der Sinn der Zeichen ab 0xF6 erschließt sich mir auch nicht. Eigentlich sind das "kombinierende" Zeichen, die den davor stehenden Buchstaben modifizieren sollen. Das klappt aber nicht.

    Gruß
    Rainer

  • Hallo Rainer,

    die Ersetzung des „generischen Währungssymbols“ durch das Euro-Zeichen wird auch in anderen Systemen so gemacht (siehe oben verlinktem Wikipedia-Artikel).

    Die Zeichen ab 0xF6 sind keinesfalls „Kombinationszeichen“. Das „~“-Zeichen wird z.B. in Unix/Linux-Kommandos benutzt („cd ~/Downloads“) und dient in einigen Ländern als Negations- oder Äquivalenzzeichen. Damit ist es keineswegs identisch mit der Tilde in z.B. Señor. Das „Dach“ ist kein „Zirkumflex-Akzent“, sondern dient als Hilfssymbol für Potenzen (z.B. 2^45) und wird in einigen Ländern für umnummerierte Fußnoten benutzt (siehe z.B. italienische Wikipedia). Die „Kuller“ werden für nicht-nummerierte Listen benutzt („Bullet Points“). Usw.

    There are two rules in life:
    1. Never give out all of the information.

  • Hallo Jörg,
    wie gesagt, ich bin kein Experte. Das Dach als Potenz gibt es schon auf 0x5E, die Tilde auf 0x7E. "Bullet" ist auf 0xA5. Die "Pünktchen" im von mir genannten Bereich werden von Textobjekten als . dargestellt. Das interpretiere ich mal als nicht darstellbares Zeichen. Symbol PS hat an diesen Stellen vernünftige Zeichen, dafür erscheinen die Punkte bei den Umlauten - wobei das "richtige" Punkte sind, nicht die an den unteren Rand gequetschten.
    Kurzum: noch viel Denkarbeit. Vielleicht muss man dazu auch mal ins SDK schauen, wie die Zeichen heißen.
    Gruß
    Rainer
    P.S. Das es sich hinten um kombinierende Zeichen handeln könnte, ist natürlich eine Vermutung, wie gesagt, der wahre Sinn erschließt sich mir nicht. Ich wüste aber nicht, wozu man sonst zwei Tilden, zwei Dächer und singuläre Ü-Punkte (0xAC) braucht.

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

    Einmal editiert, zuletzt von Rainer (5. Dezember 2022 um 15:29)

  • Durch Zufall bin ich vorhin auf ne NewDeal-Zeichensatzliste gestoßen. Dort ist z.B. das ASCII-Zeichen 240 als "nicht von GEOS verwendet" vermerkt, dargestellt sieht es wie "ein Turm, oder so" aus. In den Apple-Zeichensätzen war da das Apple-Logo untergebracht. Vielleicht lässt sich dort das €-Zeichen unterbringen?

    http://www.geos-infobase.de/ND_DOCS/HOTTIPS/1501.HTM

    PS: Dort bei den Hottipps finden sich noch viele weitere Infos zu Fonts unter GEOS:

    [size=10]http://www.geos-infobase.de/ND_DOCS/HOTTIPS/#font[/size]

  • Oder auch HIER weiteres zu Geos-Schriften. (ach, ist ja das selbe). :D
    Na was haben wir denn HIER noch?
    Ob die Gegenüberstellung der freien Fonts mit den Geosfonts in 1415 (Seite 2) nützlich ist?
    Vielleicht sind die freien Fonts ja noch irgendwo im Netz auffindbar?

    Gruß Frank

    Geos + Lenovo Ideapad 5 = Aufbruch in eine neue Galaxie

  • Hallo,
    ja die Diskussion ist etwas aus der Richtung gekommen. Wenn ich das richtig verstanden habe war Jirkas ursprüngliches Problem, dass die TTF Fonts nicht alle GEOS-Zeichen unterstützen. Deswegen sein Vorschlag für einen Zeichenvorrat plus die Frage, ob irgendwelche "wichtigen" GEOS-Zeichen nicht dabei sind.
    Ohne Anspruch auf Vollständigkeit fehlen in Jirkas Vorschlag ∞, ≤, ≥, π, Ω, ≈ und die Wurzel √ sowie ein paar von den Akzent-artigen Zeichen ab 0xF8. Ob a-Tilde und o-Tilde dabei sind, oder ob das a-Strich und o-Strich sind, konnte ich nicht erkennen.
    Natürlich ist es immer blöd, wenn Zeichen, die man verwendet hat plötzlich nicht mehr da sind. Richtig schmerzen würde mich das Fehlen von ≈, π und Ω, da ich diese sehr oft verwendet habe.
    Ein paar Zeichen scheinen in Jirkas Vorschlag auch doppelt vorzukommen, etwa die längeren Striche oder die “ – zumindest sehen sie auf dem Bild sehr gleich aus.
    Für die Frage, ob der Zeichensatz nun ASCII, ANSI oder Latin-irgendwas ist, ist glaube ich Sebi der Experte :)

    Gruß
    Rainer

    Es gibt 10 Arten von Menschen - die einen wissen was binär ist, die anderen nicht.

  • Hallo,

    der (bewährte) GEOS Zeichensatz kann mit der Idee der Mappingtabelle auch erhalten bleiben. Ich hätte aber schon gerne das EUR Symbol zur Verfügung gestellt. Ich werde zunächst das Mapping mit den bisherigen Zeichen umsetzen. Das EUR-Zeichen zu integrieren ist dann nur eine Zeile Code.

    Die Fontauswahl für das FreeGEOS Release wird dann natürlich etwas aufwendiger, da hier auch noch ein Abgleich gegen den GEOS-Zeichensatz gemacht werden muss. Vielleicht können wir das mit einem kleinen Tool vereinfachen...

    Jirka

    Es ist auch dein FreeGEOS!

  • Das Euro-Zeichen würde ich auch, wie Jörg schon schrieb, auf die Position des allgm. Währungszeichen setzen, weil das bei so ziemlich allen Zeichensätzen in der PC-Welt so gehandhabt wurde.
    Alternativ wäre auch, wie von Bernd erwähnt, die 240 möglich. Da war der Mac-Apfel und Geos hatte dort nie ein definiertes Zeichen.

    Ansi hat Zeichen, die Geos nicht hat, und Geos hat Zeichen, die Ansi nicht hat. Also werden einige Zeichen aus den TTF-Schriften in Geos unter den Tisch fallen. Zugleich werden Geos-Zeichen fehlen.

    Im Ansi sind auch keine Zeichen doppelt, auch wenn es auf Jirkas Grafik so aussieht. Die letzten sieben Zeichen sind dort zuviel, nach dem y mit Umlaut ist Schluß.

    Sebi

  • Hallo,

    bei der Arbeit am TTF-Treiber bin ich gerade über ein Problem gestolpert. GEOS unterstützt in der SBCS-Version nur max. 256 Zeichen. Da diese Einschränkung bereits bei der Anmeldung eines Fonts am System greift, ist es notwendig TTF-Fonts auf max. 256 Zeichen zu begrenzen. Eine Filterung im Treiber scheidet aus meiner Sicht aus da auch viele Geometriedaten, die der Treiber dem Kernel mitteilen muss, von den enthaltenen Zeichen abhängen. Ich habe ein wenig recherchiert und denke dass die Zeichensätze 'Basic-Latin' und 'Latin-1 Sup' ausreichen sollten. Ein Bild der enthaltenen Zeichen (die Sprachen Englisch und Deutsch sind damit abgedeckt; Schwedisch? Hans?) habe ich angehängt.

    Vermisst jemand noch ein Zeichen?

    In der DBCS-Version sollte diese Einschränkung dann nicht mehr greifen. Dort gibt es zwar auch wieder Grenzen, darüber kann man aber sprechen wenn es soweit ist.

    Jirka

    Hi Jrika!

    Swedish characters (åäö ÅÄÖ) are there, and also Nordic characters like åæø ÅÆØ.

    Greetings,
    Hans

    PS Sorry for the delayed answer, had severe trouble with my internet connection at home DS.