Kaydet (Commit) 434c5d78 authored tarafından Stephan Bergmann's avatar Stephan Bergmann

Fix "symbol aliasing" code

Change-Id: Ic4605c40b9f3467f84732a0e3c956976fae68277
üst a98b0d15
...@@ -152,11 +152,15 @@ int ImplFontCharMap::GetGlyphIndex( sal_UCS4 cChar ) const ...@@ -152,11 +152,15 @@ int ImplFontCharMap::GetGlyphIndex( sal_UCS4 cChar ) const
// check that we are inside any range // check that we are inside any range
if( (nRange == 0) && (cChar < mpRangeCodes[0]) ) { if( (nRange == 0) && (cChar < mpRangeCodes[0]) ) {
// symbol aliasing gives symbol fonts a second chance // symbol aliasing gives symbol fonts a second chance
const bool bSymbolic = (mpRangeCodes[0]>=0xF000) && (mpRangeCodes[1]<=0xF0FF); const bool bSymbolic = cChar <= 0xFF && (mpRangeCodes[0]>=0xF000) && (mpRangeCodes[1]<=0xF0FF);
if( !bSymbolic ) if( !bSymbolic )
return 0; return 0;
// check for symbol aliasing (U+F0xx -> U+00xx) // check for symbol aliasing (U+F0xx -> U+00xx)
nRange = ImplFindRangeIndex( cChar | 0xF000 ); cChar |= 0xF000;
nRange = ImplFindRangeIndex( cChar );
if( (nRange == 0) && (cChar < mpRangeCodes[0]) ) {
return 0;
}
} }
// check that we are inside a range // check that we are inside a range
if( (nRange & 1) != 0 ) if( (nRange & 1) != 0 )
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment