Salve a tutti,
ho la necessità di calcolare le dimensioni giuste del font necessario per stampare un certo numero di caratteri.
Ho quindi fatto questa routine alla quale passo come parametri:
- cFontName, ossia il font che voglio utilizzare, per esempio "Arial"
- n_ColRequiredil numero di caratteri che voglio siano rappresentati in una linea di stampa
- nMaxSize, ossia le dimensioni del foglio in millimetri
Sembra funzioni, però mi restituisce una dimensione di font diversa da quella che utilizzerei ad esempio in Word mentre ho la necessità di ottenere un valore comparabile con Word/Windows.
Qualche idea ?
Grazie.
? GetFontSize("Arial",136,"210")
Function GetFontSize(cFontName,n_ColRequired,nMaxSize)
oPrn:=PrintBegin("")
aPoints:=oPrn:Cmtr2Pix(0,nMaxSize/10)
for nFontWidth:=90 to 1 step -1
oFont:=Tfont():New(cFontName,-nFontWidth)
oPrn:SetFont(oFont)
llv:=oPrn:GetTextWidth(replicate("B",n_ColRequired),oFont)
llv2:=oPrn:Pix2mmtr(0,llv)
if llv2[2]<nMaxSize &&
exit
endif
oFont:End()
sysrefresh()
next
oPrn:End()
return(nFontWidth)
Comparazione font di FWH e font di Windows (Word per esempio
Moderator: Enrico Maria Giordano
- Marco Turco
- Posts: 858
- Joined: Fri Oct 07, 2005 12:00 pm
- Location: London
- Contact:
Comparazione font di FWH e font di Windows (Word per esempio
Best Regards,
Marco Turco
SOFTWARE XP LLP
Marco Turco
SOFTWARE XP LLP