summaryrefslogtreecommitdiff
path: root/libfreetype/ftbdf.c
diff options
context:
space:
mode:
Diffstat (limited to 'libfreetype/ftbdf.c')
-rw-r--r--libfreetype/ftbdf.c63
1 files changed, 63 insertions, 0 deletions
diff --git a/libfreetype/ftbdf.c b/libfreetype/ftbdf.c
new file mode 100644
index 00000000..04579554
--- /dev/null
+++ b/libfreetype/ftbdf.c
@@ -0,0 +1,63 @@
+/***************************************************************************/
+/* */
+/* ftbdf.c */
+/* */
+/* FreeType API for accessing BDF-specific strings (body). */
+/* */
+/* Copyright 2002 by */
+/* David Turner, Robert Wilhelm, and Werner Lemberg. */
+/* */
+/* This file is part of the FreeType project, and may only be used, */
+/* modified, and distributed under the terms of the FreeType project */
+/* license, LICENSE.TXT. By continuing to use, modify, or distribute */
+/* this file you indicate that you have read the license and */
+/* understand and accept it fully. */
+/* */
+/***************************************************************************/
+
+
+#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;
+ }
+
+
+/* END */