[FIX]Eingabe von Umlauten

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

[FIX]Eingabe von Umlauten

Torge Husfeldt
Hallo Leute,

Ich weiss nicht ob das Problem schon anderweitig gelöst wurde,
aber in Zusammenhang mit Umlauten habe ich hier auf der Liste
immer mehr Fragen als Antworten gelesen.
Hier also mal eine Antwort:
Kontext:
In dem vorbereiteten Demo-Image von
> http://swiki.squeakfoundation.org/squeak-ev/84
> http://www.ira.uka.de/~marcus/SqueakDeutsch.zip
Ist die Eingabe von Umlauten 'gestört'.
Das liegt m.E. daran, das auf detuschen OS/VM-Kombinationen
meistens keine multi-character-keycodes für die Umlaute erzeugt
werden un Yoshiki diese Möglichkeit nicht ausreichen berücksichtigt hat.
Lösung:
Ein 'dirty hack' der für mich unter Linux ganz gut klappt, ist in der
Methode
HandMorph>>generateKeyboardEvent:
An dem letzten umfassenden ifTrue: Block noch ein ifFalse mit folgendem
Inhalt anzuhängen:
keyValue _ keyValue asCharacter squeakToIso asciiValue.
Das ist so ähnlich auch das was Yoshiki im Fall mit multi... macht.
Changeset ist angehängt.
Ein weiteres Problem ist, dass Umlaute in allen anderen als den default...
Zeichensätzen nicht korrekt angezeigt werden. Wenn man sich solch einen
String dann aber greift und (z.B. in einem Inspector) anzeigt, erkennt man,
dass Squeak sich durchaus im klaren ist, dass da ein Umlaut kommen soll.
Hier hilft es wohl nur, für die fehlerhaften Zeichensätze die Glyph-Tabelle
zu reparieren. BTW ich habe das Gefühl, dass es einen Unterschied macht,
ob die Zeichensätze Default... heissen. Ich meine ich hatte mal einen Fall,
da war das Zeichen korrekt angezeigt, aber der printString vom Zeichensatz
war genau der gleiche, wie bei einem anderen, nicht korrekt angezeigten,
der
wohl unter seinem spezifischen Namen referenziert wurde (wie NewYork10 12
oder so).

HTH,
Torge

P.S.: Gute Arbeit!
P.P.S: Habe auch noch zwei kleine Korrekturvorschläge für
addGermanVocabulary angehängt.
Zum Wiederfinden am besten diffen.

--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/

UmlautFixes-th.1.cs.gz (984 bytes) Download Attachment
EToy-addGermanVocabulary.1.cs.gz (28K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [FIX]Eingabe von Umlauten(Nachtrag)

Torge Husfeldt
Hallo nochmal.

Ich habe hier ein höchst nützliches DoIt für alle, die das zweite unten
beschriebene Problem haben und gerne korrekte
Umlaute angezeigt bekommen wollen.
Dies funkioniert soweit ich sehen kann für alle NewYork
und Atlanta fonts sowie für die nicht-MS (nicht TTF-) Comic
Fonts.
Ich weiss allerdings nicht ob es vernünftiger wäre, anstatt
der lebenden Instancen eine Änderung im Code anzugehen.
Soweit ich feststellen konnte, werden die Instanzen aber
nicht 'im normalen Betrieb' erzeugt und es reicht sie einmal zu ändern.
Hier das DoIt:
| map |
StrikeFont allInstances do:[:each|
        map _ each instVarAt: (each class instVarNames indexOf:
'characterToGlyphMap').
        map ifNotNil:[
                (each name beginsWith: 'NewYork')
                        ifTrue:[
                                map at: ($† asciiValue + 1) put: ($† asciiValue).
                                map at: ($Š asciiValue + 1) put: ($Š asciiValue).
                                map at: ($š asciiValue + 1) put: ($š asciiValue).
                                map at: ($Ÿ asciiValue + 1) put: ($Ÿ asciiValue)].
                ((each name beginsWith: 'Comic') or:[each name beginsWith: 'Atlanta'] )
                        ifTrue:[
                                map at: ($€ asciiValue + 1) put: 16r80.
                                map at: ($÷ asciiValue + 1) put: 16r85.
                                map at: ($† asciiValue + 1) put: 16r86.
                                map at: ($Š asciiValue + 1) put: 16r8A.
                                map at: ($š asciiValue + 1) put: 16r9A.
                                map at: ($Ÿ asciiValue + 1) put: 16r9F]]].

Des weiteren glaube ich, dass man bei den TTF Fonts auch was machen könnte.
Hier empfiehlt es sich aber definitiv, bei der Erzeugung (also dem Import)
anzusetzen. Leider habe ich keine Erfahrungen mit dem FontReader und weiss
auch nicht ob ich ihn jetzt unter Linux zum Laufen bringen kann. Ich bin
aber der Überzeugung, dass die Änderung in TTFontReader>>processCharMap:
passieren sollte.
Hier wird noch angenommen, dass das Squeak-Imge auf MacRoman basier, was
so ja wohl nich mehr stimmt. Also müsste hier die Fallunterscheidung
dahingehend
modifiziert werden, das genau im anderen Fall eine Umwandlung (in genau die
andere
Richtung) passiert. In etwa so:
TTFontReader>>processCharMap: assoc
        "Process the given character map"

        | charTable glyph cmap |
        cmap _ assoc value.
        charTable _ Array new: 256 withAll: glyphs first. "Initialize with default
glyph"

        assoc key = 1 ifTrue: "Mac encoded table"
                [1 to: (cmap size min: charTable size) do:
                        [:i |
                        glyph _ glyphs at: (cmap at: i) + 1.
                        charTable at: (self macToWin: i) put: glyph]].

        assoc key = 3 ifTrue: "Win encoded table"
                [1 to: (cmap size min: charTable size) do:
                        [:i |
                        glyph _ glyphs at: (cmap at: i) + 1.
                        charTable at: i put: glyph]].
mit
TTFontReader>>macToWin: anInteger
"analog zu winToMac:"
        ^ (index - 1) asCharacter squeakToIso asciiValue + 1

        ^ charTable


HTH,
Torge

On Fri, 27 Jun 2003 11:02:41 +0200, Torge Husfeldt <[hidden email]>
wrote:

> Hallo Leute,
>
> Ich weiss nicht ob das Problem schon anderweitig gelöst wurde,
> aber in Zusammenhang mit Umlauten habe ich hier auf der Liste
> immer mehr Fragen als Antworten gelesen.
> Hier also mal eine Antwort:
> Kontext:
> In dem vorbereiteten Demo-Image von
>> http://swiki.squeakfoundation.org/squeak-ev/84
>> http://www.ira.uka.de/~marcus/SqueakDeutsch.zip
> Ist die Eingabe von Umlauten 'gestört'.
> Das liegt m.E. daran, das auf detuschen OS/VM-Kombinationen
> meistens keine multi-character-keycodes für die Umlaute erzeugt
> werden un Yoshiki diese Möglichkeit nicht ausreichen berücksichtigt hat.
> Lösung:
> Ein 'dirty hack' der für mich unter Linux ganz gut klappt, ist in der
> Methode
> HandMorph>>generateKeyboardEvent:
> An dem letzten umfassenden ifTrue: Block noch ein ifFalse mit folgendem
> Inhalt anzuhängen:
> keyValue _ keyValue asCharacter squeakToIso asciiValue.
> Das ist so ähnlich auch das was Yoshiki im Fall mit multi... macht.
> Changeset ist angehängt.
> Ein weiteres Problem ist, dass Umlaute in allen anderen als den
> default...
> Zeichensätzen nicht korrekt angezeigt werden. Wenn man sich solch einen
> String dann aber greift und (z.B. in einem Inspector) anzeigt, erkennt
> man,
> dass Squeak sich durchaus im klaren ist, dass da ein Umlaut kommen soll.
> Hier hilft es wohl nur, für die fehlerhaften Zeichensätze die Glyph-
> Tabelle
> zu reparieren. BTW ich habe das Gefühl, dass es einen Unterschied macht,
> ob die Zeichensätze Default... heissen. Ich meine ich hatte mal einen
> Fall,
> da war das Zeichen korrekt angezeigt, aber der printString vom
> Zeichensatz
> war genau der gleiche, wie bei einem anderen, nicht korrekt angezeigten,
> der
> wohl unter seinem spezifischen Namen referenziert wurde (wie NewYork10 12
> oder so).
>
> HTH,
> Torge
>
> P.S.: Gute Arbeit!
> P.P.S: Habe auch noch zwei kleine Korrekturvorschläge für
> addGermanVocabulary angehängt.
> Zum Wiederfinden am besten diffen.
>



--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Reply | Threaded
Open this post in threaded view
|

Re: [FIX]Eingabe von Umlauten(Nachtrag)

Esther Mietzsch
Hallo Torge,
Das hört sich doch gut an. Ich werde beide Umlaut-patches bei nächster
Gelegenheit ausprobieren. Leider bin ich im Moment entweder zu müde, oder ich
habe keine Zeit.
Die beiden Verbesserungen in addGermanVocabulary habe ich allerdings nicht
finden können, bei mir markiert diff gleich alles. Vielleicht kannst Du sie
mir bitte noch mal händisch schicken. Wie sollen wir überhaupt die
Änderungsverwaltung organisieren? Jeder schickt mir seine Vorschläge, und ich
entscheide diktatorisch über das einpflegen?
Liebe Grüße
Esther

Reply | Threaded
Open this post in threaded view
|

Re: [FIX]Eingabe von Umlauten(Nachtrag)

Esther Mietzsch
Hallo Torge, hallo Squeaker,

SUPER!
Beide Patches tun ganz super. Damit sieht Squeak auf Deutsch schon richtig gut
aus.Bei der Darstellung der Umlaute hat sich das DoIt zwar irgendwie auch
unterwegs mit den Zeichen verheddert, aber mit ein bißchen Phantasie habe ich
das hinbiegen können. eingabe der Umlaut klappte sofort, ich bin beeindruckt!
Ich schicke mal ein Bildschirmphoto, wie das DoIt jetzt bei mir aussieht. Dann
muss das jeder halt von Hand abschreiben, aber die Zeichen sollten lesbar
sein. Es fehlt nur das "ß" in den Comic- und Atlanta-Schriften (Hilfeblasen)
Damit hat Torge Punkt 4 und 1a der TO-DO-Liste (s. meine Mail vom 17.06.)
erledigt!!!!
Punkt 1b (falscher Zeilenumbruch) kann jeder selbst abhaken, in dem man das
addGermanvocabulary.st nach dem Runterladen noch mal prüft, ob die
Zeilenenden wirklich im Mac-Format sind. Bei mir tut es dann, erkennbar
daran, dass alle Hilfeblasen bei Geräten und Lager auf Deutsch sind, außer
für "Zufall" und "Object-Katalog".
3 (Menü auf Japanisch) scheint nur im 3.4-Image ein Problem zu sein.
Bleiben noch 2 (unmatched string quotes), 5, 6 und 7.

Viele Grüße
von einer ziemlich begeisterten
Esther

Bildschirmphoto.zip (23K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [FIX]Eingabe von Umlauten(Nachtrag)

Torge Husfeldt
Hallo Esther,

Ich habe alle Patches inclusive des DoIt mal in einem .cs zusammengefasst.
Leider tut dies ein wenig viel, denn es würde (soweit vorhanden) alle TT-
Schriftarten
in Comic verwandeln. In dem heruntergeladenen Image von marcus ist das aber
OK, denn die einzige geladene TT-Discription ist Comic(Default).
Das mit den eszet ist mir auch aufgefallen. Habe ich mit drin.
Ich suche schnell nochmal Deinem mail vom 17. 'raus und versuche weiter
Punkte abzuhaken.
Als nächstes schreibe ich das cs so um, dass es Schriftfamilien erkennt
und den Austausch richtig vornimmt.
Ich habe die vorläufige version mal angehängt.

Gruss,
Torge

P.S.: Beim Abarbeiten des postscipts muss der Benutzer einmal einen
Pfadnamen
für eine TTF-Datei (vorzugsweise Comic) eingeben. Wer diese (z.B. auf einem
Linux-
System) nicht hat, sollte die letzten drei Anweisungen aus dem postscript
herauseditieren.

On Sun, 29 Jun 2003 16:20:34 +0200, Esther Mietzsch <[hidden email]>
wrote:

> Hallo Torge, hallo Squeaker,
>
> SUPER!
> Beide Patches tun ganz super. Damit sieht Squeak auf Deutsch schon
> richtig gut aus.Bei der Darstellung der Umlaute hat sich das DoIt zwar
> irgendwie auch unterwegs mit den Zeichen verheddert, aber mit ein bißchen
> Phantasie habe ich das hinbiegen können. eingabe der Umlaut klappte
> sofort, ich bin beeindruckt!
> Ich schicke mal ein Bildschirmphoto, wie das DoIt jetzt bei mir aussieht.
> Dann muss das jeder halt von Hand abschreiben, aber die Zeichen sollten
> lesbar sein. Es fehlt nur das "ß" in den Comic-und Atlanta-Schriften
> (Hilfeblasen)
> Damit hat Torge Punkt 4 und 1a der TO-DO-Liste (s. meine Mail vom 17.06.)
> erledigt!!!!
> Punkt 1b (falscher Zeilenumbruch) kann jeder selbst abhaken, in dem man
> das addGermanvocabulary.st nach dem Runterladen noch mal prüft, ob die
> Zeilenenden wirklich im Mac-Format sind. Bei mir tut es dann, erkennbar
> daran, dass alle Hilfeblasen bei Geräten und Lager auf Deutsch sind,
> außer für "Zufall" und "Object-Katalog".
> 3 (Menü auf Japanisch) scheint nur im 3.4-Image ein Problem zu sein.
> Bleiben noch 2 (unmatched string quotes), 5, 6 und 7.
>
> Viele Grüße
> von einer ziemlich begeisterten
> Esther
>



--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/
Reply | Threaded
Open this post in threaded view
|

Re: [FIX]Eingabe von Umlauten(Nachtrag)

Marcus Denker-2
> Als nächstes schreibe ich das cs so um, dass es Schriftfamilien erkennt
> und den Austausch richtig vornimmt.
> Ich habe die vorläufige version mal angehängt.
>
Hallo,

Seht gut!

Leider kann ich kein Attachement finden (ich wuerde gerne die
Version auf dem wiki auf einen aktuellen stand bringen).

   Marcus

--
Marcus Denker [hidden email]  -- Squeak! http://squeak.de

Reply | Threaded
Open this post in threaded view
|

Re: [FIX]Eingabe von Umlauten(Nachtrag)

Marcus Denker-2
In reply to this post by Esther Mietzsch
Hallo,

> 3 (Menü auf Japanisch) scheint nur im 3.4-Image ein Problem zu sein.
> Bleiben noch 2 (unmatched string quotes), 5, 6 und 7.
>
Ich habe die Todo-liste auf dem Wiki entsprechend editiert, neues Image
fuer das deutsche Squeak werde ich bald auf das wiki stellen.

   Marcus
   



--
Marcus Denker [hidden email]  -- Squeak! http://squeak.de

Reply | Threaded
Open this post in threaded view
|

Re: [FIX]Eingabe von Umlauten(Nachtrag)

Torge Husfeldt
In reply to this post by Marcus Denker-2
Uuups,

tut mir leid,
hab ich wohl vergessen.

Gruss,
Torge
On Tue, 1 Jul 2003 16:07:59 +0200, Marcus Denker <[hidden email]> wrote:

>> Als nächstes schreibe ich das cs so um, dass es Schriftfamilien erkennt
>> und den Austausch richtig vornimmt.
>> Ich habe die vorläufige version mal angehängt.
>>
> Hallo,
>
> Seht gut!
>
> Leider kann ich kein Attachement finden (ich wuerde gerne die Version auf
> dem wiki auf einen aktuellen stand bringen).
>
> Marcus
>


--
Using M2, Opera's revolutionary e-mail client: http://www.opera.com/m2/

UmlautFixes-th.4.cs.gz (2K) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: [FIX]Eingabe von Umlauten(Nachtrag)

Marcus Denker-2
On Wed, Jul 02, 2003 at 11:56:42AM +0200, Torge Husfeldt wrote:
> Uuups,
>
> tut mir leid,
> hab ich wohl vergessen.
>
Ok, ein aktuelles image (Version 3.5)
http://www.ira.uka.de/~marcus/SqueakDeutsch.zip

Umlaute werden richtig angezeigt, und auch die mouse-over Hilfe
ist jetzt in deutsch.

         Marcus

--
Marcus Denker [hidden email]  -- Squeak! http://squeak.de

Reply | Threaded
Open this post in threaded view
|

Re: [FIX]Eingabe von Umlauten(Nachtrag)

Esther Mietzsch
Am Mittwoch, 2. Juli 2003 16:04 schrieb Marcus Denker:

> On Wed, Jul 02, 2003 at 11:56:42AM +0200, Torge Husfeldt wrote:
> > Uuups,
> >
> > tut mir leid,
> > hab ich wohl vergessen.
>
> Ok, ein aktuelles image (Version 3.5)
> http://www.ira.uka.de/~marcus/SqueakDeutsch.zip
>
> Umlaute werden richtig angezeigt, und auch die mouse-over Hilfe
> ist jetzt in deutsch.
>
>          Marcus

Das sieht aber jetzt schön aus!
Wenn wir uns auf dem Linux-Tag treffen, gebe ich Euch ein Eis aus.

Gruß
Esther