[Xorg-commit] xc/extras/freetype2/src/psnames psmodule.c,1.1.4.1,1.1.4.2 pstables.h,1.1,1.1.4.1 rules.mk,1.1,1.1.4.1
Kaleb Keithley
xorg-commit at pdx.freedesktop.org
Wed May 9 17:30:30 EEST 2007
- Previous message: [Xorg-commit] xc/extras/freetype2/src/smooth ftgrays.c,1.1.4.1,1.1.4.2 ftsmooth.c,1.1.4.1,1.1.4.2 rules.mk,1.1,1.1.4.1
- Next message: [Xorg-commit] xc/extras/freetype2/src/truetype rules.mk,1.1,1.1.4.1 ttdriver.c,1.1.4.1,1.1.4.2 ttgload.c,1.1.4.1,1.1.4.2 ttgload.h,1.1.4.1,1.1.4.2 ttinterp.c,1.1.4.1,1.1.4.2 ttobjs.c,1.1.4.1,1.1.4.2 ttobjs.h,1.1.4.1,1.1.4.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Committed by: kaleb
Update of /cvs/xorg/xc/extras/freetype2/src/psnames
In directory pdx:/home/kaleb/xorg/xc.XORG-CURRENT/extras/freetype2/src/psnames
Modified Files:
Tag: XORG-CURRENT
psmodule.c pstables.h rules.mk
Log Message:
merge most of XFree86 RC3 (4.3.99.903) from vendor branch.
bug #214
Index: psmodule.c
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/src/psnames/psmodule.c,v
retrieving revision 1.1.4.1
retrieving revision 1.1.4.2
diff -u -d -r1.1.4.1 -r1.1.4.2
--- a/psmodule.c 26 Nov 2003 22:48:27 -0000 1.1.4.1
+++ b/psmodule.c 23 Feb 2004 21:33:00 -0000 1.1.4.2
@@ -4,7 +4,7 @@
/* */
/* PSNames module implementation (body). */
/* */
-/* Copyright 1996-2001, 2002 by */
+/* Copyright 1996-2001, 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
@@ -17,8 +17,8 @@
#include <ft2build.h>
-#include FT_INTERNAL_POSTSCRIPT_NAMES_H
#include FT_INTERNAL_OBJECTS_H
+#include FT_SERVICE_POSTSCRIPT_CMAPS_H
#include "psmodule.h"
#include "pstables.h"
@@ -44,7 +44,7 @@
char temp[64];
- /* if the name begins with `uni', then the glyph name may be a */
+ /* If the name begins with `uni', then the glyph name may be a */
/* hard-coded unicode character code. */
if ( glyph_name[0] == 'u' &&
glyph_name[1] == 'n' &&
@@ -83,7 +83,44 @@
value = ( value << 4 ) + d;
}
- if ( count == 0 )
+
+ /* there must be exactly four hex digits */
+ if ( ( *p == '\0' || *p == '.' ) && count == 0 )
+ return value;
+ }
+
+ /* If the name begins with `u', followed by four to six uppercase */
+ /* hexadicimal digits, it is a hard-coded unicode character code. */
+ if ( glyph_name[0] == 'u' )
+ {
+ FT_Int count;
+ FT_ULong value = 0;
+ const char* p = glyph_name + 1;
+
+
+ for ( count = 6; count > 0; count--, p++ )
+ {
+ char c = *p;
+ unsigned int d;
+
+
+ d = (unsigned char)c - '0';
+ if ( d >= 10 )
+ {
+ d = (unsigned char)c - 'A';
+ if ( d >= 6 )
+ d = 16;
+ else
+ d += 10;
+ }
+
+ if ( d >= 16 )
+ break;
+
+ value = ( value << 4 ) + d;
+ }
+
+ if ( ( *p == '\0' || *p == '.' ) && count <= 2 )
return value;
}
@@ -139,10 +176,10 @@
/* Builds a table that maps Unicode values to glyph indices */
static FT_Error
- ps_build_unicode_table( FT_Memory memory,
- FT_UInt num_glyphs,
- const char** glyph_names,
- PS_Unicodes* table )
+ ps_unicodes_init( FT_Memory memory,
+ FT_UInt num_glyphs,
+ const char** glyph_names,
+ PS_Unicodes* table )
{
FT_Error error;
@@ -170,9 +207,9 @@
{
uni_char = ps_unicode_value( gname );
- if ( uni_char != 0 && uni_char != 0xFFFF )
+ if ( uni_char != 0 && uni_char != 0xFFFFL )
{
- map->unicode = uni_char;
+ map->unicode = (FT_UInt)uni_char;
map->glyph_index = n;
map++;
}
@@ -205,8 +242,8 @@
static FT_UInt
- ps_lookup_unicode( PS_Unicodes* table,
- FT_ULong unicode )
+ ps_unicodes_char_index( PS_Unicodes* table,
+ FT_ULong unicode )
{
PS_UniMap *min, *max, *mid;
@@ -231,13 +268,13 @@
max = mid - 1;
}
- return 0xFFFF;
+ return 0xFFFFU;
}
static FT_ULong
- ps_next_unicode( PS_Unicodes* table,
- FT_ULong unicode )
+ ps_unicodes_char_next( PS_Unicodes* table,
+ FT_ULong unicode )
{
PS_UniMap *min, *max, *mid;
@@ -298,40 +335,52 @@
static
- const PSNames_Interface psnames_interface =
+ const FT_Service_PsCMapsRec pscmaps_interface =
{
#ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
- (PS_Unicode_Value_Func) ps_unicode_value,
- (PS_Build_Unicodes_Func) ps_build_unicode_table,
- (PS_Lookup_Unicode_Func) ps_lookup_unicode,
+ (PS_Unicode_ValueFunc) ps_unicode_value,
+ (PS_Unicodes_InitFunc) ps_unicodes_init,
+ (PS_Unicodes_CharIndexFunc)ps_unicodes_char_index,
+ (PS_Unicodes_CharNextFunc) ps_unicodes_char_next,
#else
0,
0,
0,
+ 0,
#endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */
- (PS_Macintosh_Name_Func) ps_get_macintosh_name,
- (PS_Adobe_Std_Strings_Func) ps_get_standard_strings,
+ (PS_Macintosh_Name_Func) ps_get_macintosh_name,
+ (PS_Adobe_Std_Strings_Func)ps_get_standard_strings,
t1_standard_encoding,
- t1_expert_encoding,
+ t1_expert_encoding
+ };
-#ifdef FT_CONFIG_OPTION_ADOBE_GLYPH_LIST
- (PS_Next_Unicode_Func) ps_next_unicode
-#else
- 0
-#endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */
+ static const FT_ServiceDescRec pscmaps_services[] =
+ {
+ { FT_SERVICE_ID_POSTSCRIPT_CMAPS, &pscmaps_interface },
+ { NULL, NULL }
};
+ static FT_Pointer
+ psnames_get_service( FT_Module module,
+ const char* service_id )
+ {
+ FT_UNUSED( module );
+
+ return ft_service_list_lookup( pscmaps_services, service_id );
+ }
+
#endif /* !FT_CONFIG_OPTION_NO_POSTSCRIPT_NAMES */
+
FT_CALLBACK_TABLE_DEF
const FT_Module_Class psnames_module_class =
{
@@ -344,13 +393,15 @@
#ifdef FT_CONFIG_OPTION_NO_POSTSCRIPT_NAMES
0,
-#else
- (void*)&psnames_interface, /* module specific interface */
-#endif
-
(FT_Module_Constructor)0,
(FT_Module_Destructor) 0,
(FT_Module_Requester) 0
+#else
+ (void*)&pscmaps_interface, /* module specific interface */
+ (FT_Module_Constructor)0,
+ (FT_Module_Destructor) 0,
+ (FT_Module_Requester) psnames_get_service
+#endif
};
Index: pstables.h
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/src/psnames/pstables.h,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -d -r1.1 -r1.1.4.1
--- a/pstables.h 14 Nov 2003 16:48:24 -0000 1.1
+++ b/pstables.h 23 Feb 2004 21:33:00 -0000 1.1.4.1
@@ -1,10 +1,10 @@
/***************************************************************************/
/* */
-/* pstables.h */
+/* pstables.h.new */
/* */
/* PostScript glyph names (specification only). */
/* */
-/* Copyright 2000-2001 by */
+/* Copyright 2000-2001, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
[...9314 lines suppressed...]
+ 0x056AU,
+ 0x04C2U,
+ 0x0436U,
+ 0x0497U,
+ 0x04DDU,
+ 0x3058U,
+ 0x30B8U,
+ 0x05AEU,
+ 0x1E95U,
+ 0xFF5AU,
+ 0x305EU,
+ 0x30BEU,
+ 0x24B5U,
+ 0x0290U,
+ 0x01B6U,
+ 0x305AU,
+ 0x30BAU,
#endif /* FT_CONFIG_OPTION_ADOBE_GLYPH_LIST */
0
Index: rules.mk
===================================================================
RCS file: /cvs/xorg/xc/extras/freetype2/src/psnames/rules.mk,v
retrieving revision 1.1
retrieving revision 1.1.4.1
diff -u -d -r1.1 -r1.1.4.1
--- a/rules.mk 14 Nov 2003 16:48:24 -0000 1.1
+++ b/rules.mk 23 Feb 2004 21:33:00 -0000 1.1.4.1
@@ -3,7 +3,7 @@
#
-# Copyright 1996-2000, 2001 by
+# Copyright 1996-2000, 2001, 2003 by
# David Turner, Robert Wilhelm, and Werner Lemberg.
#
# This file is part of the FreeType project, and may only be used, modified,
@@ -15,25 +15,24 @@
# PSNames driver directory
#
-PSNAMES_DIR := $(SRC_)psnames
-PSNAMES_DIR_ := $(PSNAMES_DIR)$(SEP)
+PSNAMES_DIR := $(SRC_DIR)/psnames
# compilation flags for the driver
#
-PSNAMES_COMPILE := $(FT_COMPILE) $I$(PSNAMES_DIR)
+PSNAMES_COMPILE := $(FT_COMPILE) $I$(subst /,$(COMPILER_SEP),$(PSNAMES_DIR))
# PSNames driver sources (i.e., C files)
#
-PSNAMES_DRV_SRC := $(PSNAMES_DIR_)psmodule.c
+PSNAMES_DRV_SRC := $(PSNAMES_DIR)/psmodule.c
# PSNames driver headers
#
PSNAMES_DRV_H := $(PSNAMES_DRV_SRC:%.c=%.h) \
- $(PSNAMES_DIR_)pstables.h \
- $(PSNAMES_DIR_)psnamerr.h
+ $(PSNAMES_DIR)/pstables.h \
+ $(PSNAMES_DIR)/psnamerr.h
# PSNames driver object(s)
@@ -41,25 +40,25 @@
# PSNAMES_DRV_OBJ_M is used during `multi' builds
# PSNAMES_DRV_OBJ_S is used during `single' builds
#
-PSNAMES_DRV_OBJ_M := $(PSNAMES_DRV_SRC:$(PSNAMES_DIR_)%.c=$(OBJ_)%.$O)
-PSNAMES_DRV_OBJ_S := $(OBJ_)psnames.$O
+PSNAMES_DRV_OBJ_M := $(PSNAMES_DRV_SRC:$(PSNAMES_DIR)/%.c=$(OBJ_DIR)/%.$O)
+PSNAMES_DRV_OBJ_S := $(OBJ_DIR)/psnames.$O
# PSNames driver source file for single build
#
-PSNAMES_DRV_SRC_S := $(PSNAMES_DIR_)psmodule.c
+PSNAMES_DRV_SRC_S := $(PSNAMES_DIR)/psmodule.c
# PSNames driver - single object
#
$(PSNAMES_DRV_OBJ_S): $(PSNAMES_DRV_SRC_S) $(PSNAMES_DRV_SRC) \
$(FREETYPE_H) $(PSNAMES_DRV_H)
- $(PSNAMES_COMPILE) $T$@ $(PSNAMES_DRV_SRC_S)
+ $(PSNAMES_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $(PSNAMES_DRV_SRC_S))
# PSNames driver - multiple objects
#
-$(OBJ_)%.$O: $(PSNAMES_DIR_)%.c $(FREETYPE_H) $(PSNAMES_DRV_H)
- $(PSNAMES_COMPILE) $T$@ $<
+$(OBJ_DIR)/%.$O: $(PSNAMES_DIR)/%.c $(FREETYPE_H) $(PSNAMES_DRV_H)
+ $(PSNAMES_COMPILE) $T$(subst /,$(COMPILER_SEP),$@ $<)
# update main driver object lists
- Previous message: [Xorg-commit] xc/extras/freetype2/src/smooth ftgrays.c,1.1.4.1,1.1.4.2 ftsmooth.c,1.1.4.1,1.1.4.2 rules.mk,1.1,1.1.4.1
- Next message: [Xorg-commit] xc/extras/freetype2/src/truetype rules.mk,1.1,1.1.4.1 ttdriver.c,1.1.4.1,1.1.4.2 ttgload.c,1.1.4.1,1.1.4.2 ttgload.h,1.1.4.1,1.1.4.2 ttinterp.c,1.1.4.1,1.1.4.2 ttobjs.c,1.1.4.1,1.1.4.2 ttobjs.h,1.1.4.1,1.1.4.2
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the xorg-commit
mailing list