diff options
| author | David Boddie <david@boddie.org.uk> | 2024-02-28 01:52:58 +0100 |
|---|---|---|
| committer | David Boddie <david@boddie.org.uk> | 2024-02-28 01:52:58 +0100 |
| commit | cbd016cda002145743d87224f0a9f9068abbfc67 (patch) | |
| tree | bcfcc9b11ea078a5fa42b16f7ea98a29d112d040 /libfreetype/t42drivr.c | |
| parent | 75323f4992b2b4e593bd2f548db9ac6897e894d3 (diff) | |
Removed libfreetype fork, replacing it with a submodule and some Inferno-specific files.
Retained the license documents and updated the header files.
Diffstat (limited to 'libfreetype/t42drivr.c')
| -rw-r--r-- | libfreetype/t42drivr.c | 169 |
1 files changed, 0 insertions, 169 deletions
diff --git a/libfreetype/t42drivr.c b/libfreetype/t42drivr.c deleted file mode 100644 index 65bf2e8a..00000000 --- a/libfreetype/t42drivr.c +++ /dev/null @@ -1,169 +0,0 @@ -/***************************************************************************/ -/* */ -/* t42drivr.c */ -/* */ -/* High-level Type 42 driver interface (body). */ -/* */ -/* Copyright 2002 by Roberto Alameda. */ -/* */ -/* 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. */ -/* */ -/***************************************************************************/ - - - /*************************************************************************/ - /* */ - /* This driver implements Type42 fonts as described in the */ - /* Technical Note #5012 from Adobe, with these limitations: */ - /* */ - /* 1) CID Fonts are not currently supported. */ - /* 2) Incremental fonts making use of the GlyphDirectory keyword */ - /* will be loaded, but the rendering will be using the TrueType */ - /* tables. */ - /* 3) The sfnts array is expected to be ASCII, not binary. */ - /* 4) As for Type1 fonts, CDevProc is not supported. */ - /* 5) The Metrics dictionary is not supported. */ - /* 6) AFM metrics are not supported. */ - /* */ - /* In other words, this driver supports Type42 fonts derived from */ - /* TrueType fonts in a non-CID manner, as done by usual conversion */ - /* programs. */ - /* */ - /*************************************************************************/ - - -#include "t42drivr.h" -#include "t42objs.h" -#include "t42error.h" -#include FT_INTERNAL_DEBUG_H - - -#undef FT_COMPONENT -#define FT_COMPONENT trace_t42 - - - static FT_Error - t42_get_glyph_name( T42_Face face, - FT_UInt glyph_index, - FT_Pointer buffer, - FT_UInt buffer_max ) - { - FT_String* gname; - - - gname = face->type1.glyph_names[glyph_index]; - - if ( buffer_max > 0 ) - { - FT_UInt len = (FT_UInt)( ft_strlen( gname ) ); - - - if ( len >= buffer_max ) - len = buffer_max - 1; - - FT_MEM_COPY( buffer, gname, len ); - ((FT_Byte*)buffer)[len] = 0; - } - - return T42_Err_Ok; - } - - - static const char* - t42_get_ps_name( T42_Face face ) - { - return (const char*)face->type1.font_name; - } - - - static FT_UInt - t42_get_name_index( T42_Face face, - FT_String* glyph_name ) - { - FT_Int i; - FT_String* gname; - - - for ( i = 0; i < face->type1.num_glyphs; i++ ) - { - gname = face->type1.glyph_names[i]; - - if ( !ft_strcmp( glyph_name, gname ) ) - return ft_atoi( (const char *)face->type1.charstrings[i] ); - } - - return 0; - } - - - static FT_Module_Interface - T42_Get_Interface( FT_Driver driver, - const FT_String* t42_interface ) - { - FT_UNUSED( driver ); - - /* Any additional interface are defined here */ - if (ft_strcmp( (const char*)t42_interface, "glyph_name" ) == 0 ) - return (FT_Module_Interface)t42_get_glyph_name; - - if ( ft_strcmp( (const char*)t42_interface, "name_index" ) == 0 ) - return (FT_Module_Interface)t42_get_name_index; - - if ( ft_strcmp( (const char*)t42_interface, "postscript_name" ) == 0 ) - return (FT_Module_Interface)t42_get_ps_name; - - return 0; - } - - - const FT_Driver_ClassRec t42_driver_class = - { - { - ft_module_font_driver | - ft_module_driver_scalable | -#ifdef TT_CONFIG_OPTION_BYTECODE_INTERPRETER - ft_module_driver_has_hinter, -#else - 0, -#endif - - sizeof ( T42_DriverRec ), - - "type42", - 0x10000L, - 0x20000L, - - 0, /* format interface */ - - (FT_Module_Constructor)T42_Driver_Init, - (FT_Module_Destructor) T42_Driver_Done, - (FT_Module_Requester) T42_Get_Interface, - }, - - sizeof ( T42_FaceRec ), - sizeof ( T42_SizeRec ), - sizeof ( T42_GlyphSlotRec ), - - (FT_Face_InitFunc) T42_Face_Init, - (FT_Face_DoneFunc) T42_Face_Done, - (FT_Size_InitFunc) T42_Size_Init, - (FT_Size_DoneFunc) T42_Size_Done, - (FT_Slot_InitFunc) T42_GlyphSlot_Init, - (FT_Slot_DoneFunc) T42_GlyphSlot_Done, - - (FT_Size_ResetPointsFunc) T42_Size_SetChars, - (FT_Size_ResetPixelsFunc) T42_Size_SetPixels, - (FT_Slot_LoadFunc) T42_GlyphSlot_Load, - - (FT_Face_GetKerningFunc) 0, - (FT_Face_AttachFunc) 0, - - (FT_Face_GetAdvancesFunc) 0 - }; - - -/* END */ |
