shithub: freetype+ttf2subf

Download patch

ref: 9e883cf6689a723ccfb996c97e92be358eccb11c
parent: 8ab32602398bef96162d572452a44408c7b1fdd4
author: David Turner <[email protected]>
date: Tue May 21 16:50:53 EDT 2002

* include/freetype/internal/ftbdf.h, src/base/ftbdf.c,
          src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk:

          Adding a new API called "FT_Get_BDF_Charset_ID" to retrieve
          BDF-specific strings from a face. This is much cleaner
          than accessing the internal types "BDF_Public_Face" defined in
          FT_INTERNAL_BDF_TYPES_H

git/fs: mount .git/fs: mount/attach disallowed
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2002-05-21  David Turner  <[email protected]>
+
+        * include/freetype/internal/ftbdf.h, src/base/ftbdf.c,
+          src/base/descrip.mms, src/base/Jamfile, src/base/rules.mk:
+          
+          Adding a new API called "FT_Get_BDF_Charset_ID" to retrieve
+          BDF-specific strings from a face. This is much cleaner
+          than accessing the internal types "BDF_Public_Face" defined in
+          FT_INTERNAL_BDF_TYPES_H
+
 2002-05-21  Werner Lemberg  <[email protected]>
 
 	* src/bdf/README: Mention Microsoft's SBIT tool.
--- /dev/null
+++ b/include/freetype/ftbdf.h
@@ -1,0 +1,16 @@
+#ifndef __FT_BDF_H__
+#define __FT_BDF_H__
+
+#include <ft2build.h>
+#include FT_FREETYPE_H
+
+FT_BEGIN_HEADER
+
+  FT_EXPORT( FT_Error )
+  FT_Get_BDF_Charset_ID( FT_Face       face,
+                         const char*  *acharset_encoding,
+                         const char*  *acharset_registry );
+
+FT_END_HEADER
+
+#endif /* __FT_BDF_H__ */
--- a/src/base/Jamfile
+++ b/src/base/Jamfile
@@ -23,7 +23,7 @@
 
 # Add the optional/replaceable files.
 #
-Library  $(FT2_LIB) : ftsystem.c ftinit.c   ftglyph.c  ftmm.c
+Library  $(FT2_LIB) : ftsystem.c ftinit.c   ftglyph.c  ftmm.c  ftbdf.c
                       ftbbox.c   ftdebug.c  ;
 
 # Add Macintosh-specific file to the library when necessary.
--- a/src/base/descrip.mms
+++ b/src/base/descrip.mms
@@ -15,7 +15,7 @@
 
 CFLAGS=$(COMP_FLAGS)$(DEBUG)/include=([--.builds.vms],[--.include],[--.src.base])
 
-OBJS=ftbase.obj,ftinit.obj,ftglyph.obj,ftdebug.obj,ftmm.obj
+OBJS=ftbase.obj,ftinit.obj,ftglyph.obj,ftdebug.obj,ftbdf.obj,ftmm.obj
 
 all : $(OBJS)
         library [--.lib]freetype.olb $(OBJS)
--- /dev/null
+++ b/src/base/ftbdf.c
@@ -1,0 +1,40 @@
+#include <ft2build.h>
+#include FT_INTERNAL_BDF_TYPES_H
+#include FT_INTERNAL_OBJECTS_H
+
+
+  FT_EXPORT_DEF( FT_Error )
+  FT_Get_BDF_Charset_ID( FT_Face       face,
+                         const char*  *acharset_encoding,
+                         const char*  *acharset_registry )
+  {
+    FT_Error     error;
+    const char*  encoding = NULL;
+    const char*  registry = NULL;
+    
+
+    error = FT_Err_Invalid_Argument;
+    
+    if ( face != NULL && face->driver != NULL )
+    {
+      FT_Module  driver = (FT_Module) face->driver;
+      
+      if ( driver->clazz && driver->clazz->module_name &&
+           ft_strcmp( driver->clazz->module_name, "bdf" ) == 0 )
+      {
+        BDF_Public_Face  bdf_face = (BDF_Public_Face) face;
+        
+        encoding = (const char*) bdf_face->charset_encoding;
+        registry = (const char*) bdf_face->charset_registry;
+        error    = 0;
+      }           
+    }
+  
+    if ( acharset_encoding )
+      *acharset_encoding = encoding;
+    
+    if ( acharset_registry )
+      *acharset_registry = registry;
+    
+    return error;
+  }                         
--- a/src/base/rules.mk
+++ b/src/base/rules.mk
@@ -51,6 +51,7 @@
 #
 BASE_EXT_SRC := $(BASE_)ftglyph.c \
                 $(BASE_)ftmm.c    \
+                $(BASE_)ftbdf.c   \
                 $(BASE_)ftbbox.c
 
 # Default extensions objects