Dovendo utilizzare un nuovo font per le mie pagine mi sono basato sull'esempio presente sul sito e relativo al font calligra per cercare di ottenere le informazioni necessarie per codificare il mio OCRB (stampa di bollettini postali)
Nel file calligra.js si trova una variabile
xcw=lib.newArray( ... );
che contiene coppie di 'caratteri' e valori che rappresentano la larghezza di ciascun carattere.
Dal mio font e tramite questa semplice paginetta:
che potrete adottare per qualsiasi nuovo font vogliate 'misurare', mi sono ricavato la suddetta variabile e con essa, agendo ad intuito e creando ocrb.js modificando il file originario calligra.js preso a modello, ho ottenuto il risultato cercato.codice:<body> <span id="testL1" style="position:absolute;top:0;left:0;z-index:100'+k+';visibility:hidden;font-family:OCRB,Courier"></span> <div id="res"></div> </body> <script type="text/javascript"> function misura_fonts() { var t = ""; for (var i=0; i<=255; i++){ var s = ""; for (var n=0; n<100; n++){ s += String.fromCharCode(i); } document.getElementById('testL1').innerHTML = s; var L1 = document.getElementById('testL1').offsetWidth; t += (', lib.chr('+i+'), '+Math.round(L1*.629333)); } document.getElementById('res').innerHTML = 'xcw = lib.newArray( '+t.substr(2)+' );'; } misura_fonts(); </script>
Ora pero' anche se funziona vorrei completare l'opera e quindi chiedo un aiuto da chi si e' trovato ad affrontare un problema simile, ovvero:
a che servono, cosa significano e come si ricavano le altre varibili presenti ed i loro valori?
Grazie anticipatecodice:xdesc=lib.newArray('Ascent',899,'Descent',-234,'CapHeight',731,'Flags',32,'FontBBox','[-50 -234 1328 899]','ItalicAngle',0.0,'StemV',70,'MissingWidth',800); xup=-200; xut=20; xenc='cp1252'; xdiff='';

Rispondi quotando