Implementation of BFont::Blocks
BFont::Blocks is now implemented in ServerFont, via a call through the app_server. It uses fontconfig to iterate through a charset of a font and stores the defined blocks in a bitmap. A new API was added, BFont::IncludesBlock, that will allow for arbitrary testing of a given Unicode block. Since nothing is cached, searching through an entire charset for a series of Unicode blocks can be quite slow. In a given block there may be only 1 or 2 characters actually defined so every character within a block needs to be checked until one is found, which in a degenerate case will mean the entire block is checked. Signed-off-by: Axel Dörfler <[email protected]>
This commit is contained in:
@@ -303,6 +303,21 @@ if [ IsPackageAvailable freetype_devel ] {
|
||||
Echo "Freetype support not available on $(TARGET_PACKAGING_ARCH)" ;
|
||||
}
|
||||
|
||||
# fontconfig
|
||||
if [ IsPackageAvailable fontconfig_devel ] {
|
||||
ExtractBuildFeatureArchives fontconfig :
|
||||
file: base fontconfig
|
||||
runtime: lib
|
||||
file: devel fontconfig_devel
|
||||
depends: base
|
||||
library: $(developLibDir)/libfontconfig.so
|
||||
headers: $(developHeadersDir) $(developHeadersDir)/fontconfig
|
||||
;
|
||||
|
||||
EnableBuildFeatures fontconfig ;
|
||||
} else {
|
||||
Echo "fontconfig support not available on $(TARGET_PACKAGING_ARCH)" ;
|
||||
}
|
||||
|
||||
# Gutenprint
|
||||
if [ IsPackageAvailable gutenprint_devel ] {
|
||||
|
||||
@@ -100,8 +100,8 @@ if [ IsOptionalHaikuImagePackageAdded Development ] {
|
||||
local architectureObject ;
|
||||
for architectureObject in [ MultiArchSubDirSetup ] {
|
||||
on $(architectureObject) {
|
||||
AddHaikuImagePackages curl_devel ffmpeg_devel freetype_devel
|
||||
glu_devel jpeg_devel libpng16_devel zlib_devel ;
|
||||
AddHaikuImagePackages curl_devel ffmpeg_devel fontconfig_devel
|
||||
freetype_devel glu_devel jpeg_devel libpng16_devel zlib_devel ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user