Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Arno Welzel Newsgroups: de.comp.lang.javascript Subject: =?UTF-8?Q?Re:_=22Optische=22_Zeichenh=c3=b6he_berechnen?= Date: Thu, 16 Nov 2017 19:50:43 +0100 Lines: 38 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: individual.net bWUv4wwcszLASrjmQ/NGWAfrRsgao8FU3jpTbmvQ8KoRhr3l1C Cancel-Lock: sha1:lFYTjDUkoKbLONLry1GiVxaiyws= In-Reply-To: Xref: csiph.com de.comp.lang.javascript:4914 Christian Zimmermann: > ich möchte eine Zeichenfolge in einem canvas vertikal zentriert > ausgeben, aber nach "meinen" Regeln ;-) > > "Optisch", um es von "technisch" abzugrenzen, bedeutet hier die maximale > vertikale sichtbare Ausprägung eines Zeichens, wobei eben "o" und "O" > jeweils unterschiedliche "optische" Höhen aufweisen. Dies möchte ich > beim vertikalen Zentrieren berücksichtigen. Technisch gesehen sind beide > Zeichen gleich hoch, was wohl durch den jeweils zugrundeliegenden > Zeichensatz vorgegeben sein dürfte (natürlich bei denselben > Eigenschaften von Schriftart, -größe, etc.). > > D. h. habe ich eine Zeichenfolge, die keine Ober- und Unterlängen > aufweist, wie z. B. "oooo", möchte ich vertikal anders zentrieren als > bei Zeichenfolgen wie "ggggg" oder "babab" oder "ÄÄÄÄÄ". Geht nicht, da die Zeichen für den Browser alle gleich hoch sind. Wie viel von dem verfügbaren Platz durch den Schriftschnitt dann tatsächlich vollgemalt wird, ist dem Browser egal. > Hat hierzu jemand eine Idee? Die Zeichen des jeweiligen Schriftschnittes manuell abmessen und dann einzeln in span-Elemente packen, die jeweils eine relative Positionierung nach oben oder unten enthalten. Am besten per serverseitigem Script, dass anhand des vorgegebenen Textes die entsprechenden HTML-Fragmente ausgibt. Nein, ich würde sowas nicht haben wollen auf meiner Website. Aber wenn Optik so wichtig ist... -- Arno Welzel https://arnowelzel.de https://de-rec-fahrrad.de http://fahrradzukunft.de