oFont:height / oFont:width
Moderator: Moderatoren
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
oFont:height / oFont:width
hi,
wer kann mir mal den Zusammenhang von oFont:height und oFont:width
mal näher erklären. Ich komme, durch ausprobieren, auf solche Werte :
oFont:height := 60 ; oFont:width := 26
oFont:height := 30 ; oFont:width := 16
kann man das nicht irgendwie "berechnen" wie :width sein muss
wenn man :height vorgibt ?
wer kann mir mal den Zusammenhang von oFont:height und oFont:width
mal näher erklären. Ich komme, durch ausprobieren, auf solche Werte :
oFont:height := 60 ; oFont:width := 26
oFont:height := 30 ; oFont:width := 16
kann man das nicht irgendwie "berechnen" wie :width sein muss
wenn man :height vorgibt ?
gruss by OHR
Jimmy
Jimmy
- brandelh
- Foren-Moderator
- Beiträge: 15697
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 66 Mal
- Danksagung erhalten: 33 Mal
- Kontaktdaten:
Hallo Jimmy,
je nach Schriftart sind da andere Werte drin (PIXEL), je nach Definition des Zeichensatzes. Du solltest den Font über seine PUNKT Größe und den Namen erzeugen und dann kannst du diese Werte abfragen. Sie zu setzen dürfte wohl keinen Sinn machen, da entweder ein 'ähnlicher' Font (als anders) gewählt wird, oder ein bestehender Font 'umgebogen' würde, was nicht schön aussieht.
je nach Schriftart sind da andere Werte drin (PIXEL), je nach Definition des Zeichensatzes. Du solltest den Font über seine PUNKT Größe und den Namen erzeugen und dann kannst du diese Werte abfragen. Sie zu setzen dürfte wohl keinen Sinn machen, da entweder ein 'ähnlicher' Font (als anders) gewählt wird, oder ein bestehender Font 'umgebogen' würde, was nicht schön aussieht.
Gruß
Hubert
Hubert
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
hi,
nun will ich aber noch die :Codepage setzten
hier bekomme ich z.b. für nSize = 20 raus. Allerdings gibt es dann wieder
andere :height Werte die mit dem nSize "nicht gut aussehen", also muss
ich dann doch wieder mit :width rummachen bis es "passt".
Muss ich mir erst eine "Tabelle" mit allen "default" Werten für :width
machen oder kann man das doch irgendwie "berechnen" ?
ja genau deshalb frage ich. "Normal" wäre jabrandelh hat geschrieben: Du solltest den Font über seine PUNKT Größe und den Namen erzeugen und dann kannst du diese Werte abfragen. Sie zu setzen dürfte wohl keinen Sinn machen, da entweder ein 'ähnlicher' Font (als anders) gewählt wird, oder ein bestehender Font 'umgebogen' würde, was nicht schön aussieht.
Code: Alles auswählen
{{ XBP_PP_COMPOUNDNAME, "28.Arial" }}
oder
// Font-Objekt erzeugen
oFont := XbpFont():new():create( "28.Arial.normal" )
Code: Alles auswählen
oFont := XbpFont():new()
oFont:familyName := "Courier New" // Font beschreiben
oFont:height := 38
IF ID_CHINA // chinesisches OS
oFont:Codepage := 186 // baltisch ?
ENDIF
oFont:create() // Font erzeugen
nSize := oFont:width // wide feststellen
andere :height Werte die mit dem nSize "nicht gut aussehen", also muss
ich dann doch wieder mit :width rummachen bis es "passt".
Muss ich mir erst eine "Tabelle" mit allen "default" Werten für :width
machen oder kann man das doch irgendwie "berechnen" ?
gruss by OHR
Jimmy
Jimmy
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Jimmy,
ich habe das bei mir im Verhältnis 5:2 gesetzt:
- wobei bei mir hundeschrg den Wert 6, 8 oder 14 haben kann...
Viele Grüße,
Martin
ich habe das bei mir im Verhältnis 5:2 gesetzt:
Code: Alles auswählen
oFont2:height := hundeschrg * 5
oFont2:width := hundeschrg * 2
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.
- AUGE_OHR
- Marvin
- Beiträge: 12909
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
hi,
Ich hab auch im Forum deinen ganzen Code gefunden und frage mich:
ist ? Wenn ja, wie verhält sich das dann zu oFont:height bzw oFont:width ?
... muss/soll man dann beide "jedesmal vor" :create auf 0 setzten wie ich
es aus der Hilfe verstehe ?
Ich hab auch im Forum deinen ganzen Code gefunden und frage mich:
Code: Alles auswählen
oFont := XbpFont():new():create( "28.Arial" )
exakt ==
oFont := XbpFont():New()
oFont:familyName := "Arial"
oFont:nominalPointSize := 28
oFont:create()
... muss/soll man dann beide "jedesmal vor" :create auf 0 setzten wie ich
es aus der Hilfe verstehe ?
gruss by OHR
Jimmy
Jimmy
- Martin Altmann
- Foren-Administrator
- Beiträge: 16517
- Registriert: Fr, 23. Sep 2005 4:58
- Wohnort: Berlin
- Hat sich bedankt: 111 Mal
- Danksagung erhalten: 48 Mal
- Kontaktdaten:
Hallo Jimmy,
eigentlich würde ich Deine erste Variante der zweiten vorziehen - aus Gründen der Einfachheit.
Das auf 0 setzen von height und width kann man sicherlich ignorieren - Du legst ja ein Objekt neu an!
In meinem o.g. Beispiel konnte ich das jedoch nicht so machen, wie Du vorschlägst, da die Leute freie Wahl haben sollten (fett, kursiv, gemischt,...) und die Klartextbezeichnungen zu unterschiedlich sind - je nach Sprache des Betriebssystems (heißt das dann jetzt "Arial bold" oder "Arial fett" oder "Arial bold italic" oder...) - nur darum hatte ich das dann so gelöst!
Viele Grüße,
Martin
eigentlich würde ich Deine erste Variante der zweiten vorziehen - aus Gründen der Einfachheit.
Das auf 0 setzen von height und width kann man sicherlich ignorieren - Du legst ja ein Objekt neu an!
In meinem o.g. Beispiel konnte ich das jedoch nicht so machen, wie Du vorschlägst, da die Leute freie Wahl haben sollten (fett, kursiv, gemischt,...) und die Klartextbezeichnungen zu unterschiedlich sind - je nach Sprache des Betriebssystems (heißt das dann jetzt "Arial bold" oder "Arial fett" oder "Arial bold italic" oder...) - nur darum hatte ich das dann so gelöst!
Viele Grüße,
Martin
Webseite mit XB2.NET und ausschließlich statischem Content in Form von HTML-Dateien: https://www.altem.de/
Webseite mit XB2.NET und ausschließlich dynamischem Content in Form von in-memory-HTML: https://meldungen.altem.de/
Mitglied der XUG Osnabrück
Vorsitzender des Deutschsprachige Xbase-Entwickler e. V.