#include "fonts.h"
#include "language.h"
#include "vframe.h"
+#include "workarounds.h"
#include <string.h>
#include <iconv.h>
filebox_history[i].path[0] = 0;
#ifdef HAVE_XFT
- XftInitFtLibrary();
+ xftInit(0);
+ xftInitFtLibrary();
#endif
little_endian = (*(const u_int32_t*)"\01\0\0\0") & 1;
FT_Library freetype_library = 0;
// FT_Face freetype_face = 0;
-// FT_Init_FreeType(&freetype_library);
+// ft_Init_FreeType(&freetype_library);
char line[BCTEXTLEN], current_dir[BCTEXTLEN];
current_dir[0] = 0;
FcConfig *config;
int i;
char tmpstring[BCTEXTLEN];
- if(!FcInit())
+ if(!fcInit())
return 1;
- config = FcConfigGetCurrent();
- FcConfigSetRescanInterval(config, 0);
+ config = fcConfigGetCurrent();
+ fcConfigSetRescanInterval(config, 0);
- pat = FcPatternCreate();
- os = FcObjectSetBuild ( FC_FAMILY, FC_FILE, FC_FOUNDRY, FC_WEIGHT,
+ pat = fcPatternCreate();
+ os = fcObjectSetBuild( FC_FAMILY, FC_FILE, FC_FOUNDRY, FC_WEIGHT,
FC_WIDTH, FC_SLANT, FC_FONTFORMAT, FC_SPACING, FC_STYLE, (char *) 0);
- FcPatternAddBool(pat, FC_SCALABLE, true);
+ fcPatternAddBool(pat, FC_SCALABLE, true);
if(language[0]) {
char langstr[LEN_LANG * 3];
strcat(langstr, region);
}
- FcLangSet *ls = FcLangSetCreate();
- if(FcLangSetAdd(ls, (const FcChar8*)langstr))
- if(FcPatternAddLangSet(pat, FC_LANG, ls))
- FcLangSetDestroy(ls);
+ FcLangSet *ls = fcLangSetCreate();
+ if(fcLangSetAdd(ls, (const FcChar8*)langstr))
+ if(fcPatternAddLangSet(pat, FC_LANG, ls))
+ fcLangSetDestroy(ls);
}
- fs = FcFontList(config, pat, os);
- FcPatternDestroy(pat);
- FcObjectSetDestroy(os);
+ fs = fcFontList(config, pat, os);
+ fcPatternDestroy(pat);
+ fcObjectSetDestroy(os);
for (i = 0; fs && i < fs->nfont; i++) {
FcPattern *font = fs->fonts[i];
force_style = 0;
- FcPatternGetString(font, FC_FONTFORMAT, 0, &format);
+ fcPatternGetString(font, FC_FONTFORMAT, 0, &format);
//on this point you can limit font search
if(limit_to_trutype && strcmp((char *)format, "TrueType"))
continue;
sprintf(tmpstring, "%s", format);
BC_FontEntry *entry = new BC_FontEntry;
- if(FcPatternGetString(font, FC_FILE, 0, &file) == FcResultMatch) {
+ if(fcPatternGetString(font, FC_FILE, 0, &file) == FcResultMatch) {
entry->path = cstrdup((char*)file);
}
- if(FcPatternGetString(font, FC_FOUNDRY, 0, &foundry) == FcResultMatch) {
+ if(fcPatternGetString(font, FC_FOUNDRY, 0, &foundry) == FcResultMatch) {
entry->foundry = cstrdup((char*)foundry);
}
- if(FcPatternGetInteger(font, FC_WEIGHT, 0, &weight) == FcResultMatch) {
+ if(fcPatternGetInteger(font, FC_WEIGHT, 0, &weight) == FcResultMatch) {
switch(weight) {
case FC_WEIGHT_THIN:
case FC_WEIGHT_EXTRALIGHT:
}
}
- if(FcPatternGetString(font, FC_FAMILY, 0, &family) == FcResultMatch)
+ if(fcPatternGetString(font, FC_FAMILY, 0, &family) == FcResultMatch)
entry->family = cstrdup((char*)family);
- if(FcPatternGetInteger(font, FC_SLANT, 0, &slant) == FcResultMatch) {
+ if(fcPatternGetInteger(font, FC_SLANT, 0, &slant) == FcResultMatch) {
switch(slant) {
case FC_SLANT_ROMAN:
default:
}
}
- if(FcPatternGetInteger(font, FC_WIDTH, 0, &width) == FcResultMatch) {
+ if(fcPatternGetInteger(font, FC_WIDTH, 0, &width) == FcResultMatch) {
switch(width) {
case FC_WIDTH_ULTRACONDENSED:
entry->swidth = cstrdup("ultracondensed");
}
}
- if(FcPatternGetInteger(font, FC_SPACING, 0, &spacing) == FcResultMatch) {
+ if(fcPatternGetInteger(font, FC_SPACING, 0, &spacing) == FcResultMatch) {
switch(spacing) {
case 0:
default:
entry->registry = cstrdup("utf");
entry->encoding = cstrdup("8");
- if( FcPatternGetString(font, FC_STYLE, 0, &style) != FcResultMatch )
+ if( fcPatternGetString(font, FC_STYLE, 0, &style) != FcResultMatch )
force_style = 0;
// If font has a style unmanaged by titler plugin, force style to be displayed on name
dump_font_entry(stdout, "font 1: ", entry);
}
- FcFontSetDestroy(fs);
+ fcFontSetDestroy(fs);
if(freetype_library)
- FT_Done_FreeType(freetype_library);
+ ft_Done_FreeType(freetype_library);
// for(int i = 0; i < fonts->total; i++)
// fonts->values[i]->dump();
- FcConfigAppFontAddDir(0, (const FcChar8*)search_path);
- FcConfigSetRescanInterval(0, 0);
+ fcConfigAppFontAddDir(0, (const FcChar8*)search_path);
+ fcConfigSetRescanInterval(0, 0);
- os = FcObjectSetBuild(FC_FAMILY, FC_FILE, FC_FOUNDRY, FC_WEIGHT,
+ os = fcObjectSetBuild(FC_FAMILY, FC_FILE, FC_FOUNDRY, FC_WEIGHT,
FC_WIDTH, FC_SLANT, FC_SPACING, FC_STYLE, (char *)0);
- pat = FcPatternCreate();
- FcPatternAddBool(pat, FC_SCALABLE, true);
+ pat = fcPatternCreate();
+ fcPatternAddBool(pat, FC_SCALABLE, true);
if(language[0])
{
strcat(langstr, region);
}
- FcLangSet *ls = FcLangSetCreate();
- if(FcLangSetAdd(ls, (const FcChar8*)langstr))
- if(FcPatternAddLangSet(pat, FC_LANG, ls))
- FcLangSetDestroy(ls);
+ FcLangSet *ls = fcLangSetCreate();
+ if(fcLangSetAdd(ls, (const FcChar8*)langstr))
+ if(fcPatternAddLangSet(pat, FC_LANG, ls))
+ fcLangSetDestroy(ls);
}
- fs = FcFontList(0, pat, os);
- FcPatternDestroy(pat);
- FcObjectSetDestroy(os);
+ fs = fcFontList(0, pat, os);
+ fcPatternDestroy(pat);
+ fcObjectSetDestroy(os);
for(int i = 0; i < fs->nfont; i++)
{
BC_FontEntry *entry = new BC_FontEntry;
FcChar8 *strvalue;
- if(FcPatternGetString(font, FC_FILE, 0, &strvalue) == FcResultMatch)
+ if(fcPatternGetString(font, FC_FILE, 0, &strvalue) == FcResultMatch)
{
entry->path = new char[strlen((char*)strvalue) + 1];
strcpy(entry->path, (char*)strvalue);
}
- if(FcPatternGetString(font, FC_FOUNDRY, 0, &strvalue) == FcResultMatch)
+ if(fcPatternGetString(font, FC_FOUNDRY, 0, &strvalue) == FcResultMatch)
{
entry->foundry = new char[strlen((char*)strvalue) + 1];
strcpy(entry->foundry, (char *)strvalue);
}
- if(FcPatternGetString(font, FC_FAMILY, 0, &strvalue) == FcResultMatch)
+ if(fcPatternGetString(font, FC_FAMILY, 0, &strvalue) == FcResultMatch)
{
entry->family = new char[strlen((char*)strvalue) + 2];
strcpy(entry->family, (char*)strvalue);
}
int intvalue;
- if(FcPatternGetInteger(font, FC_SLANT, 0, &intvalue) == FcResultMatch)
+ if(fcPatternGetInteger(font, FC_SLANT, 0, &intvalue) == FcResultMatch)
{
switch(intvalue)
{
}
}
- if(FcPatternGetInteger(font, FC_WEIGHT, 0, &intvalue) == FcResultMatch)
+ if(fcPatternGetInteger(font, FC_WEIGHT, 0, &intvalue) == FcResultMatch)
{
switch(intvalue)
{
}
}
- if(FcPatternGetInteger(font, FC_WIDTH, 0, &intvalue) == FcResultMatch)
+ if(fcPatternGetInteger(font, FC_WIDTH, 0, &intvalue) == FcResultMatch)
{
switch(intvalue)
{
break;
}
}
- if(FcPatternGetInteger(font, FC_SPACING, 0, &intvalue) == FcResultMatch)
+ if(fcPatternGetInteger(font, FC_SPACING, 0, &intvalue) == FcResultMatch)
{
switch(intvalue)
{
if( font_debug )
dump_font_entry(stdout, "font 2: ", entry);
}
- FcFontSetDestroy(fs);
+ fcFontSetDestroy(fs);
return 0;
}
if(char_code < ' ')
return 0;
- if( (ofont = FcFreeTypeQueryFace(oldface, (const FcChar8*)"", 4097, 0)) != 0 ) {
+ if( (ofont = fcFreeTypeQueryFace(oldface, (const FcChar8*)"", 4097, 0)) != 0 ) {
if( (font = find_similar_font(char_code, ofont)) != 0 ) {
- if(FcPatternGetString(font, FC_FILE, 0, &file) == FcResultMatch) {
+ if(fcPatternGetString(font, FC_FILE, 0, &file) == FcResultMatch) {
strcpy(path_new, (char*)file);
result = 1;
}
- FcPatternDestroy(font);
+ fcPatternDestroy(font);
}
- FcPatternDestroy(ofont);
+ fcPatternDestroy(ofont);
}
return result;
}
return 0;
fontconfig_lock.lock("BC_Resources::find_similar_font");
- pat = FcPatternCreate();
- os = FcObjectSetBuild(FC_FILE, FC_CHARSET, FC_SCALABLE, FC_FAMILY,
+ pat = fcPatternCreate();
+ os = fcObjectSetBuild(FC_FILE, FC_CHARSET, FC_SCALABLE, FC_FAMILY,
FC_SLANT, FC_WEIGHT, FC_WIDTH, (char *)0);
- FcPatternAddBool(pat, FC_SCALABLE, true);
- fcs = FcCharSetCreate();
- if(FcCharSetAddChar(fcs, char_code))
- FcPatternAddCharSet(pat, FC_CHARSET, fcs);
- FcCharSetDestroy(fcs);
+ fcPatternAddBool(pat, FC_SCALABLE, true);
+ fcs = fcCharSetCreate();
+ if(fcCharSetAddChar(fcs, char_code))
+ fcPatternAddCharSet(pat, FC_CHARSET, fcs);
+ fcCharSetDestroy(fcs);
for( int i=0; i<(int)LEN_FCPROP; ++i ) {
- if(FcPatternGetInteger(oldfont, fc_properties[i], 0, &ival) == FcResultMatch)
- FcPatternAddInteger(pat, fc_properties[i], ival);
+ if(fcPatternGetInteger(oldfont, fc_properties[i], 0, &ival) == FcResultMatch)
+ fcPatternAddInteger(pat, fc_properties[i], ival);
}
- fs = FcFontList(0, pat, os);
+ fs = fcFontList(0, pat, os);
for( int i=LEN_FCPROP; --i>=0 && !fs->nfont; ) {
- FcFontSetDestroy(fs);
- FcPatternDel(pat, fc_properties[i]);
- fs = FcFontList(0, pat, os);
+ fcFontSetDestroy(fs);
+ fcPatternDel(pat, fc_properties[i]);
+ fs = fcFontList(0, pat, os);
}
- FcPatternDestroy(pat);
- FcObjectSetDestroy(os);
+ fcPatternDestroy(pat);
+ fcObjectSetDestroy(os);
pat = 0;
for (int i = 0; i < fs->nfont; i++)
{
font = fs->fonts[i];
- if(FcPatternGetCharSet(font, FC_CHARSET, 0, &fcs) == FcResultMatch)
+ if(fcPatternGetCharSet(font, FC_CHARSET, 0, &fcs) == FcResultMatch)
{
- if(FcCharSetHasChar(fcs, char_code))
+ if(fcCharSetHasChar(fcs, char_code))
{
- pat = FcPatternDuplicate(font);
+ pat = fcPatternDuplicate(font);
break;
}
}
}
- FcFontSetDestroy(fs);
+ fcFontSetDestroy(fs);
fontconfig_lock.unlock();
return pat;