summaryrefslogtreecommitdiff
path: root/graphtft
diff options
context:
space:
mode:
authorVille Skyttä <ville.skytta@iki.fi>2009-07-13 01:12:24 +0300
committerVille Skyttä <ville.skytta@iki.fi>2009-07-13 01:12:24 +0300
commit41d45011c24740abfcaae9ecf0ea3f1906c6f29e (patch)
tree40c29c378b9f96b2c166246f63660c9b4e6cf08a /graphtft
parent457026f870e5d2916347212ead617ff15b1e9bf1 (diff)
downloadvdr-plugin-text2skin-41d45011c24740abfcaae9ecf0ea3f1906c6f29e.tar.gz
vdr-plugin-text2skin-41d45011c24740abfcaae9ecf0ea3f1906c6f29e.tar.bz2
Replace internal freetype font handling with VDR's font facilities.
Skins that use fonts other than VDR's standard "Osd", "Fix", and "Sml" need to be adapted to use font names as understood by VDR's CreateFont() (Family:Style as of writing this) instead of filenames in their font attributes' names, to use '@' instead of ':' as the separator before sizes, and have fonts shipped with the skin installed and configured in fontconfig. Typically, install font files (if necessary) to a dir somewhere, run fc-cache(1) on the dir, replace for example font="SomeFont.ttf:22,85" with font="Some Font@22,85" or font="SomeFontBold.ttf:22,85" with font="Some Font:Bold@22,85" in the *.skin file. Also, in case the shipped fonts are derivatives of some existing ones, they may need to be properly renamed to something so they will be used instead of the original if it happens to be installed. (closes #36)
Diffstat (limited to 'graphtft')
-rw-r--r--graphtft/font.c70
-rw-r--r--graphtft/font.h44
2 files changed, 0 insertions, 114 deletions
diff --git a/graphtft/font.c b/graphtft/font.c
deleted file mode 100644
index 278e9dc..0000000
--- a/graphtft/font.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * $Id: font.c,v 1.4 2005/01/30 18:09:42 lordjaxom Exp $
- *
- * Taken from GraphTFT
- */
-
-#include "font.h"
-#include <iconv.h>
-#include <stdio.h>
-
-cGraphtftFont::cGraphtftFont()
-{
- _library = 0;
- _face = 0;
-
- // init freetype2 lib
- int error = FT_Init_FreeType(&_library);
- if (error)
- {
- esyslog("ERROR: Could not init freetype library");
- }
-}
-
-cGraphtftFont::~cGraphtftFont()
-{
- Clear();
-
- if (_face)
- {
- FT_Done_Face(_face);
- }
-
- if (_library)
- {
- FT_Done_FreeType(_library);
- }
-}
-
-bool cGraphtftFont::Load(string Filename, string CacheName, int Size, int Language, int Width, int format)
-{
- if ( _cache.find(CacheName) != _cache.end() )
- return true;
- cFont* newFont = cFont::CreateFont(Filename.c_str(), Size);
- if ( newFont == NULL )
- return false;
- _cache[CacheName] = newFont;
- return true;
-}
-
-const cFont* cGraphtftFont::GetFont(string CacheName){
- if (CacheName == "Sml") return cFont::GetFont(fontSml);
- else if (CacheName == "Fix") return cFont::GetFont(fontFix);
- else if ( _cache.find(CacheName) != _cache.end() ){
- return _cache[CacheName];
- }
- return cFont::GetFont(fontOsd);
-}
-
-void cGraphtftFont::Clear(string CacheName)
-{
- Clear();
-}
-
-void cGraphtftFont::Clear()
-{
- cache_map::iterator it = _cache.begin();
- for (; it != _cache.end(); ++it)
- delete((*it).second);
- _cache.clear();
-}
diff --git a/graphtft/font.h b/graphtft/font.h
deleted file mode 100644
index d8c804f..0000000
--- a/graphtft/font.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * $Id: font.h,v 1.1 2004/12/19 22:03:24 lordjaxom Exp $
- *
- * Taken from GraphTFT
- */
-
-#ifndef VDR__GRAPHTFTFONT_H
-#define VDR__GRAPHTFTFONT_H
-
-#include <map>
-#include <string>
-#include <vector>
-#include <ft2build.h>
-#include FT_FREETYPE_H
-#include <vdr/font.h>
-#include <vdr/config.h>
-
-using std::map;
-using std::string;
-using std::vector;
-
-
-class cGraphtftFont
-{
-private:
- typedef map<string,cFont*> cache_map;
-
-public:
- cGraphtftFont();
- ~cGraphtftFont();
-
- bool Load(string Filename, string CacheName, int Size, int Language = 0, int Width = 0, int Format = 0);
- const cFont* GetFont(string CacheName);
- void Clear(string CacheName);
- void Clear();
-
-private:
- FT_Library _library;
- FT_Face _face;
- FT_GlyphSlot _slot;
- cache_map _cache;
-};
-
-#endif