Entstehung von Nekophilia
Nekophilia entstand auf den Wunsch von Melanie Kuhl hin, eine Schriftart in ihrem persönlichen, handschriftlichen Stil für die Verwendung in einem Comic-Projekt nutzen zu können.
Durch die Unterstützung von Philipp Böckmann bei der Digitalisierung und technischen Umsetzung wuchs Nekophilia nach und nach zu einer vollwertigen Schriftart heran und bekam schließlich sogar Emoji-Unterstützung und Emoji-Ligaturen spendiert.
Analoges Zeichendesign
Im ersten Schritt wurden alle grundlegenden Zeichen von Hand geschrieben und anschließend eingescannt. Dieser originale Zeichensatz beinhaltete alle Groß- und Kleinbuchstaben, Ziffern und die gängigsten Sonderzeichen.
Digitalisierung der Buchstaben
Anschließend wurden alle Buchstaben als Vektorgrafiken in Inkscape nachgezeichnet. Hierbei wurden kleinere Anpassungen vorgenommen, sowie viele abgeleitete Glyphen erstellt, welche nicht zuvor von Hand geschrieben worden waren.
Erstellung der Schriftart
Nach Abschluss des ersten Glyphensatzes (des lateinischen Großbuchstabenalphabets) begann die Erstellung der Schriftart in Fontforge. Dieser erste Schritt des Erstellens einer Schriftart erwies sich als erstaunlich einfach, doch der Teufel steckte wie üblich im Detail.
Ergänzung und wiederholte Verbesserung
Nekophilia durchlief diverse Verbesserungs- und Ergänzungsstufen. Nachdem anfangs nur der klassische ASCII-Zeichensatz und die deutschen Umlaute, sowie das Eszett umgesetzt worden waren, folgte schon bald die Erweiterung auf den Zeichenumfang von Windows-1252. Anschließend kamen Emojis, sowie Ligaturen für diese hinzu.
Herausforderungen & Lösungen
Die Erstellung von Nekophilia stellte uns vor einige Herausforderungen. Im Folgenden sollen einige dieser Herausforderungen kurz beschrieben werden, sowie unsere Wege sie zu bewältigen.
Grundsätzliche Lernkurve
Während der Umgang mit Inkscape uns zumindest in Teilen nicht neu war, so war es der Umgang mit einer spezialisierten Software zur Erstellung von Schriftarten wie FontForge schon. Glücklicherweise ist die Nutzergemeinde von FontForge aufgrund der Quelloffenheit des Programms nicht klein und es fanden sich nützliche Tutorials online, welche uns beim Erlernen der Programmfunktionen sehr halfen.
Unterschneidungen in einer handschriftlichen Schriftart
Eine konstante Herausforderung bei der Erstellung von Nekophilia bestand in der korrekten Einstellung aller Unterschneidungen, da es sich um eine handschriftliche Schriftart mit Buchstaben sehr variabler Formen handelt.
Einer anfangs noch paarweisen Einstellung der Unterschneidungswerte folgte nach Erweiterung des Zeichensatzes schon bald eine klassenbasierte Unterschneidungskonfiguration. Dieser Schritt sorgte für mehr Performanz in FontForge und weniger Arbeit beim Einpflegen neuer Glyphen, sowie schnellere Korrekturmöglichkeiten.
Für das Testen von Zeichenabständen mit der hierfür vorgesehenen Funktion von FontForge galt es, entsprechende Zeichenketten auf schnelle und einfache Weise zu generieren, sobald eine neue Glyphe hinzugefügt wurde.
Zur Generierung dieser Zeichenketten wurde ein kleines Python-Script erstellt, welches hier zur freien weiteren Verwendung veröffentlicht wird:
# Put all the glyphs in here which you plan to configure
fontpool = "ABCDEFGHIJKLMNOPQRSTUVWXYZÄÖÜ" \
"abcdefghijklmnopqrstuvwxyzäöüß" \
"0123456789 ?€[]: # $^!@'`´²³" \
";~_&|*/{}.%+§-°,<>()=\\\"‚‘"
# Replacements needed for use in Fontforge
repl_dict = {"/": "slash", "[": "bracketleft",
"]": "bracketright",
"^": "asciicircum", "`": "grave",
"„": "quotedblbase",
"”": "quotedblleft", "`": "grave",
"´": "acute", "#": "numbersign",
"\\": "backslash",
"‚": "quotesinglbase",
"‘": "quoteright"}
# Combine all glyphs with each other and
# use replacements for Fontforge if needed
out = [x + y + x for x in fontpool for y in fontpool]
out = [s for t in out for s in t]
out = ["/" + repl_dict[c] if str(c) in repl_dict.keys()
else c for c in out]
# Generate the file kerning.txt containing all the
# combinations and additionally print them to the console
i = 0
s = ''
with open('kerning.txt', 'w') as writer:
for e in out:
s = s + e
i = i + 1
if i == len(fontpool * 3):
i = 0
print(s)
print()
writer.write(s + "\n\n\n")
s = ''
Durch seine Ausführung erhält man einen Satz an Zeichenketten, welche man anschließend in FontForge auf die korrekten Unterschneidungen testen und bei Bedarf sofort Korrekturen vornehmen kann.
Veröffentlichung
Nach der privaten Verwendung über einen Zeitraum von gut einem Jahr hinweg und der erfolgreichen Nutzung für das ursprüngliche Comic-Projekt wird Nekophilia mit der Version 1.21 nun zum ersten Mal veröffentlicht.
Aller Voraussicht nach wird sie in Zukunft um weitere Zeichen und Features erweitert werden, sowie kleinere Unterschneidungsanpassungen und Korrekturen erfahren. Solltest Du Wünsche oder Feedback für die weitere Entwicklung von Nekophilia haben, so schreib uns gern eine E-Mail an nekophilia@redneptun.net.
Wir wünschen Dir viel Freude bei der Verwendung von Nekophilia! <3