Fontbug bei R-BASIC
-
-
Rainer, Du verstehst es nicht. R-BASIC hat endlich die Matrix geknackt!!!
(Sorry, konnte nicht widerstehen... Ich weiß, dass solche Bugs Schweißtropfen auf der Stirn auslösen... Kann leider nicht helfen aber viel Erfolg!)
-
Der mit den Schweißtropfen ist wahrscheinlich Jirka ...
-
Das ist mir auch schon aufgefallen, habe es aber auf irgendwelche Defekte in meiner Installation zurückgeführt. Ist mir aber erst bei jetzigen CI-Latest aufgefallen. Oh, sehe gerade, das es ein brandneues CI-Latest gibt; es war dann das davor.
-
Wenn man eine einzelne Zeile betrachtet, sieht man, dass das erste Wort einen Pixel tiefer ist. Keine Ahnung ob das normal ist oder nicht. Kann mir da schon so einen Off-by-one vorstellen...
-
Hallo Rainer,
um das Problem einzugrenzen erzähl uns bitte etwas über die verwendeten Fonts.
Von der Bezeichnung her würde ich sagen das es Nimbus Q Fonts sind. Allerdings heist der Mono Font dann eigentlich URW Mono (also ohne Bindestrich) und der Sans Font URW Sans (also ohne das (Mono) Anhängsel).
Oder sind das TTF Fonts und du hat den Fontnamen geändert? Wenn ja, kann man das Problem auch in Writer nachstellen?
Jirka
-
Hallo Jirka,
ich habe R-BASIC fontmäßig (noch) nicht an die TTF Fonts angepasst. Die Namen beziehen sich also auf die Nimbus-Fonts. Bei dem Bindestrich habe ich mir wohl etwas Freiheit herausgenommen
Code
Display More@object GenItemGroupClass ShtTextFontGroup = { HINT_PLACE_MONIKER_ABOVE; GI_comp = @TextFont1,@TextFont2,@TextFont3,@TextFont4,@TextFont5; HINT_ORIENT_CHILDREN_VERTICALLY; GIGI_destination = process; GIGI_applyMsg = MSG_RBAS_APPLY_FONT; } @object GenItemClass TextFont1 = { GI_visMoniker = 'B',"Bison"; GII_identifier = FID_BISON; } @object GenItemClass TextFont2 = { GI_visMoniker = 'M',"URW-Mono"; GII_identifier = FID_DTC_URW_MONO; } @object GenItemClass TextFont3 = { GI_visMoniker = 'U',"University"; GII_identifier = FID_UNIVERSITY; } @object GenItemClass TextFont4 = { GI_visMoniker = 'e',"Berkely"; GII_identifier = FID_BERKELEY; } @object GenItemClass TextFont5 = { GI_visMoniker = 'S',"URW Sans (Mono)"; GII_identifier = FID_DTC_URW_SANS; }
Der Handler MSG_RBAS_APPLY_FONT speichert die FontID und sendet sie auch an das Objekt, dass die Textausgabe macht, damit es sich neu darstellt. Wahrscheinlich verwende ich dort einfach GrSetFont() - das müsste ich aber noch mal genau prüfen. Das Mapping zu den TTF Fonts macht dann das System.
In GeoWrite kann ich das Problem nicht nachstellen. Ich vermute, von R-BASIC aus kopieren ich nur den reinen Text, nicht die Attribute wie Font und Farbe. Auch hier müsste ich mir den Code ansehen.
Bin die nächsten Tage offline, Details suchen wird eher nix.
LG
Rainer -
-
-
Hallo Rainer,
das war hilfreich. Ich kann das Problem auch in GeoDraw mit rotiertem Text nachstellen.
Es deutet einiges auf eine fehlerhaft berechntet Transformationsmatrix hin. Kurios ist das andere Transformationen die in die Transformationsmatrize eingreifen (zB. skew) gut funktionieren.
Ich denke das ist ein lösbares Problem (und hat auch schon mal funktioniert).
Was ich nicht in GeoDraw nachstellen konnte sind die Unterstriche die 'Schlieren' nach unten ziehen.
Jirka
-
Noch eine Idee zu den Unterstrichen:
Es könnte sein dass die Berechnung der Höhe der Bitmap fehlerhaft ist. Diese wird auf Basis der Glyphbox (ein virtuelles Rechteck welches um die Zeichen gezogen wird) berechnet, und da beim Unterstrich sowohl die obere als auch die untere Kante im negativen Bereicht liegt könnte das das Problem sein. Dann würde unter dem Unterschrich das nächste Zeichen im Fontblock gezeichnet werden (das passt zum Bild) und die sekrechten Linien sind die Bytes in Fontblock die noch nicht genutzt werden, denn die sind dann alle mit 0xcc gefüllt.
Rätselhaft ist nur warum ich das nicht in Writer oder Draw sehe.
Jirka
-
Schön, wenn ich helfen konnte. Das mit den negativen Zahlen klingt auch nicht unlösbar. Vielleicht ist in Draw/Write ein Clipping Bereich setzte, der die Ausgabe des Fehlers verhindert?
Rainer
-
Hi, eine Ergänzung von mir:
Ich kann das Problem mit den rotierten Schriften bestätigen. Mich wundert, dass das vorher mit TTF schon mal funktioniert hat.Viele Grüße,
Falk \\ blueway.Softworks