Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(134)

Unified Diff: third_party/freetype/src/psnames/psmodule.c

Issue 815103002: Update freetype to 2.5.4. (Closed) Base URL: https://pdfium.googlesource.com/pdfium.git@master
Patch Set: Adjust GYP and GN Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/freetype/src/psnames/psmodule.h ('k') | third_party/freetype/src/psnames/psnamerr.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/freetype/src/psnames/psmodule.c
diff --git a/core/src/fxge/fx_freetype/fxft2.5.01/src/psnames/fxft_psmodule.c b/third_party/freetype/src/psnames/psmodule.c
similarity index 88%
rename from core/src/fxge/fx_freetype/fxft2.5.01/src/psnames/fxft_psmodule.c
rename to third_party/freetype/src/psnames/psmodule.c
index 3380e3938a542c2d54098f8a2425611aa420c3d3..0a5bcb7d2a1f85b1921332d552424e4b1a73902a 100644
--- a/core/src/fxge/fx_freetype/fxft2.5.01/src/psnames/fxft_psmodule.c
+++ b/third_party/freetype/src/psnames/psmodule.c
@@ -1,4 +1,3 @@
-#if !defined(_FXFT_VERSION_) || _FXFT_VERSION_ == 2501
/***************************************************************************/
/* */
/* psmodule.c */
@@ -16,11 +15,11 @@
/* */
/***************************************************************************/
-#define FT2_BUILD_LIBRARY
-#include "../../include/ft2build.h"
-#include "../../include/freetype/internal/ftdebug.h"
-#include "../../include/freetype/internal/ftobjs.h"
-#include "../../include/freetype/internal/services/svpscmap.h"
+
+#include <ft2build.h>
+#include FT_INTERNAL_DEBUG_H
+#include FT_INTERNAL_OBJECTS_H
+#include FT_SERVICE_POSTSCRIPT_CMAPS_H
#include "psmodule.h"
#include "pstables.h"
@@ -38,15 +37,14 @@
#define VARIANT_BIT 0x80000000UL
#define BASE_GLYPH( code ) ( (FT_UInt32)( (code) & ~VARIANT_BIT ) )
-#ifdef __cplusplus
-extern "C" {
-#endif
+
/* Return the Unicode value corresponding to a given glyph. Note that */
/* we do deal with glyph variants by detecting a non-initial dot in */
/* the name, as in `A.swash' or `e.final'; in this case, the */
/* VARIANT_BIT is set in the return value. */
/* */
-int FXFT_unicode_from_adobe_name( const char* glyph_name )
+ static FT_UInt32
+ ps_unicode_value( const char* glyph_name )
{
/* If the name begins with `uni', then the glyph name may be a */
/* hard-coded unicode character code. */
@@ -164,62 +162,7 @@ int FXFT_unicode_from_adobe_name( const char* glyph_name )
VARIANT_BIT );
}
}
- #ifdef __cplusplus
-}
-#endif
-static int xyq_search_node(char* glyph_name, int name_offset, int table_offset, FT_UInt32 unicode)
-{
- int i, count;
-
- // copy letters
- while (1) {
- glyph_name[name_offset] = ft_adobe_glyph_list[table_offset] & 0x7f;
- name_offset ++;
- table_offset ++;
- if (!(ft_adobe_glyph_list[table_offset-1] & 0x80)) break;
- }
- glyph_name[name_offset] = 0;
-
- // get child count
- count = ft_adobe_glyph_list[table_offset] & 0x7f;
-
- // check if we have value for this node
- if (ft_adobe_glyph_list[table_offset] & 0x80) {
- unsigned short thiscode = ft_adobe_glyph_list[table_offset+1] * 256 + ft_adobe_glyph_list[table_offset+2];
- if (thiscode == unicode) // found it!
- return 1;
- table_offset += 3;
- } else
- table_offset ++;
-
- // now search in sub-nodes
- if (count == 0) return 0;
- for (i = 0; i < count; i ++) {
- int child_offset = ft_adobe_glyph_list[table_offset+i*2] * 256 + ft_adobe_glyph_list[table_offset+i*2+1];
- if (xyq_search_node(glyph_name, name_offset, child_offset, unicode))
- // found in child
- return 1;
- }
- return 0;
-}
-
-// XYQ: function for searching Unicode in the glyph list
-void FXFT_adobe_name_from_unicode(char* glyph_name, FT_UInt32 unicode)
-{
- int i, count;
-
- // start from top level node
- count = ft_adobe_glyph_list[1];
- for (i = 0; i < count; i ++) {
- int child_offset = ft_adobe_glyph_list[i*2+2] * 256 + ft_adobe_glyph_list[i*2+3];
- if (xyq_search_node(glyph_name, 0, child_offset, unicode))
- return;
- }
-
- // failed, clear the buffer
- glyph_name[0] = 0;
-}
/* ft_qsort callback to sort the unicode map */
FT_CALLBACK_DEF( int )
@@ -390,7 +333,7 @@ void FXFT_adobe_name_from_unicode(char* glyph_name, FT_UInt32 unicode)
{
ps_check_extra_glyph_name( gname, n,
extra_glyphs, extra_glyph_list_states );
- uni_char = FXFT_unicode_from_adobe_name( gname );
+ uni_char = ps_unicode_value( gname );
if ( BASE_GLYPH( uni_char ) != 0 )
{
@@ -582,7 +525,7 @@ void FXFT_adobe_name_from_unicode(char* glyph_name, FT_UInt32 unicode)
FT_DEFINE_SERVICE_PSCMAPSREC(
pscmaps_interface,
- (PS_Unicode_ValueFunc) FXFT_unicode_from_adobe_name,
+ (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,
@@ -664,5 +607,3 @@ void FXFT_adobe_name_from_unicode(char* glyph_name, FT_UInt32 unicode)
/* END */
-#endif
-
« no previous file with comments | « third_party/freetype/src/psnames/psmodule.h ('k') | third_party/freetype/src/psnames/psnamerr.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698