U0301 Geometrie von Schriftschnitten
Aufgabenstellung
Schreibe einen Processing Sketch, der für jeglichen Schriftschnitt, k-Linie, H-Linie, x-Linie, Grundlinie und p-Linie anzeigt.
Lernziel: Aneignung typografischer Geometrien verschiedener Schriftschnitte.
Umsetzung

Kommentare
Das „H“ berührt die Versalhöhe (in der Typografie der Abstand von der Grundlinie (Baseline) bis zur Oberkante der Versalien, also der Großbuchstaben ohne Oberlängen oder diakritische Zeichen.).
Das „x“ zeigt die Mittellänge.
Das „k“ reicht bis zur Oberlänge.
Das „p“ reicht hinunter zur Unterlänge.
Code
PFont pf;
String fontName = "Arial";
int fontSize = 200;
void setup() {
size(1000, 500);
pf = createFont(fontName, fontSize);
textFont(pf);
textSize(fontSize);
noLoop();
}
void draw() {
background(255);
float xPos = 50;
float baselineY = height * 0.6;
String sample = "Hxkp";
fill(0);
text(sample, xPos, baselineY);
java.awt.Font awtFont = ((PFont)pf).getFont();
java.awt.font.FontRenderContext frc =
new java.awt.font.FontRenderContext(null, true, true);
java.awt.font.LineMetrics lmH = awtFont.getLineMetrics("H", frc);
float yH = baselineY - lmH.getAscent();
java.awt.font.LineMetrics lmx = awtFont.getLineMetrics("x", frc);
float yx = baselineY - lmx.getAscent();
java.awt.font.LineMetrics lmk = awtFont.getLineMetrics("k", frc);
float yk = baselineY - lmk.getAscent();
java.awt.font.LineMetrics lmp = awtFont.getLineMetrics("p", frc);
float yp = baselineY + lmp.getDescent();
strokeWeight(2);
// ... (Linien genau wie oben) ...
}