
P5.js Hershey Vector Font Library. (Live -Demo)
Die Hershey -Schriftarten sind eine Sammlung von Vektor -Schriftarten, die c entwickelt wurden. 1967 von Dr. Allen Vincent Hershey im Naval Weapons Laboratory, das ursprünglich mit Vektoren auf frühen Kathodenröhren -Displays ausgelegt werden soll. Die Schriftarten sind öffentlich verfügbar und haben nur wenige Nutzungsbeschränkungen. Vektor -Schriftarten können leicht skaliert und in zwei oder drei Abmessungen gedreht; Infolgedessen wurden die Hershey-Schriftarten in Computergrafiken, computergestützten Designprogrammen und in jüngerer Zeit auch in computergestützten Fertigungsanwendungen wie Lasergravur verwendet. (Wikipedia)
Diese P5.JS -Bibliothek macht die Hershey -Schriftarten im Browser. Es kann von den von Benutzer bereitgestellten von Hershey-Schriftarten zusammen mit benutzerdefinierten Charakter-Mapping analysiert werden.
| römisch | gotisch | griechisch | Andere |
|---|---|---|---|
COMPLEX | GOTHIC_ENGLISH_TRIPLEX | GREEK_COMPLEX | ITALIC_COMPLEX |
COMPLEX_SMALL | GOTHIC_GERMAN_TRIPLEX | GREEK_COMPLEX_SMALL | ITALIC_COMPLEX_SMALL |
DUPLEX | GOTHIC_ITALIAN_TRIPLEX | GREEK_PLAIN | ITALIC_TRIPLEX |
PLAIN | GREEK_SIMPLEX | SCRIPT_COMPLEX | |
SIMPLEX | SCRIPT_SIMPLEX | ||
TRIPLEX | CYRILLIC_COMPLEX |
Fügen Sie in HTML sowohl die Bibliothek als auch die Datendatei hinzu.
< script src =" p5.hershey.js " > </ script >
< script src =" p5.hershey.data.js " > </ script > Und in der P5 -Skizzen -JavaScript rufen Sie P5.hershey.putText an
push ( ) ;
translate ( 100 , 100 ) ;
noFill ( ) ;
stroke ( 0 ) ;
strokeWeight ( 1 ) ;
P5 . hershey . putText ( "Hello World!" ) ;
pop ( ) ; P5 . hershey . putText ( "Hello World!" , {
cmap : FONT_HERSHEY . GOTHIC_GERMAN_TRIPLEX ,
align : "center" ,
noise : 0.5 ,
} ) ;cmap gibt die zu verwendende Zeichenzuordnung an und siehe unterstützte Zeichensätze für Details.align kann eine von left , center oder right sein.noise können verwendet werden, um den Eckpunkten Spezialeffekte hinzuzufügen. noise kann eine der folgenden Datentypen sein:noise eine Zahl sind, wird ein Standard -Zufallsfilter randomGaussian angewendet, um einen wackeligen/nervösen Effekt unter Verwendung von noise als Standardabweichung zu erzielen.noise ein Objekt der Form {x: (x,y)=>(x_offset), y: (x,y)=>(y_offset)} , noise.x und noise.yBenutzer können auch ihre eigenen Hershey -Schriftarten und -aufzuordnungen bereitstellen. Um eine korrekt formatierte Hershey -Schrift als Schnur zu analysieren, verwenden Sie:
var font_data = P5 . hershey . parseFontString ( " 49 12LXRMRV RNOOPOSQTSTUSUPVO" ) ;Eine Zuordnung vom Unicode -Einstiegspunkt zum Index, der von der Hershey -Schriftart verwendet wird, ist ebenfalls erforderlich. Wenn die Indizes identisch sind, kann dies so einfach sein wie:
var cmap = ( x ) => ( x ) ; Angenommen, Sie haben eine kompliziertere Zuordnung, wobei die Charaktere A , B , C , D in der Hershey -Schrift auf die Indizes 2,4,6,8 zugeordnet werden:
var cmap = ( x ) => ( [ 2 , 4 , 6 , 8 ] [ x - 65 ] ) ; Füttern Sie schließlich die Schriftart und die Zuordnung zu P5.hershey.putText :
P5 . hershey . putText ( "Hello World!" , {
font : font_data ,
cmap : cmap ,
} ) ;P5.hershey.estimateTextWidth(text, args) args die Breite in Pixel des Textes zurück, wenn er mit Argumenten gezogen werden soll.P5.hershey.validateFont(font_data) gibt ein Array mit Indizes aller ungültigen Glyphen in einem Schriftobjekt zurück. index.html für Details.