Comparazione font di FWH e font di Windows (Word per esempio

Moderator: Enrico Maria Giordano

Post Reply
User avatar
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

Post by Marco Turco »

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)
Best Regards,

Marco Turco
SOFTWARE XP LLP
Post Reply