зеркало из https://github.com/mozilla/pjs.git
bug=100324 r=dcone sr=attinasi. Checkin for ftang. Measure the cyrillic characters.
This commit is contained in:
Родитель
23e6fcf71a
Коммит
51ec9de86f
|
@ -787,15 +787,24 @@ float totallen=0.0f;
|
|||
cptr = (PRUnichar*)aString;
|
||||
|
||||
for(i=0;i<aLength;i++,cptr++){
|
||||
asciichar = (*cptr)&0x00ff;
|
||||
idx = asciichar-32;
|
||||
fwidth = (PRInt32)(mPSFontInfo->mAFMCharMetrics[idx].mW0x);
|
||||
// if ( (*cptr == 0x0020) || (*cptr == 0x002c) )
|
||||
// printf("fwidth = %d\n", fwidth);
|
||||
fwidth = 0;
|
||||
if (*cptr & 0xff00)
|
||||
fwidth = 1056;
|
||||
if ( (*cptr == 0x0020) || (*cptr == 0x002c) )
|
||||
fwidth = 1056; // space and comma are half size of a CJK width
|
||||
{
|
||||
if (0x0400 == (*cptr & 0xff00)) { // Cyrillic
|
||||
fwidth = 600;
|
||||
} else {
|
||||
fwidth = 1056;
|
||||
}
|
||||
} else {
|
||||
// < 0x0100
|
||||
asciichar = (*cptr)&0x00ff;
|
||||
idx = asciichar-32;
|
||||
if(idx >= 0 )
|
||||
fwidth = (PRInt32)(mPSFontInfo->mAFMCharMetrics[idx].mW0x);
|
||||
else if (*cptr == 0x0020)
|
||||
fwidth = 1056;
|
||||
}
|
||||
|
||||
totallen += fwidth;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче