You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
65 lines
1.9 KiB
65 lines
1.9 KiB
Index: Font-FreeType-0.03/FreeType.xs |
|
--- Font-FreeType-0.03/FreeType.xs.orig 2004-09-11 22:50:44 +0200 |
|
+++ Font-FreeType-0.03/FreeType.xs 2009-01-15 15:21:09 +0100 |
|
@@ -21,6 +21,8 @@ |
|
#include FT_GLYPH_H |
|
#include FT_OUTLINE_H |
|
#include FT_BBOX_H |
|
+#include FT_TYPE1_TABLES_H |
|
+#include FT_SFNT_NAMES_H |
|
|
|
#undef assert |
|
#include <assert.h> |
|
@@ -763,6 +765,33 @@ |
|
char_code = FT_Get_Next_Char(face, char_code, &glyph_idx); |
|
} |
|
|
|
+long |
|
+qefft2_face_number_of_charmaps (Font_FreeType_Face face) |
|
+ CODE: |
|
+ RETVAL = face->num_charmaps; |
|
+ OUTPUT: |
|
+ RETVAL |
|
+ |
|
+int |
|
+qefft2_face_sfnt_name_count (Font_FreeType_Face face) |
|
+ CODE: |
|
+ RETVAL = FT_Get_Sfnt_Name_Count(face); |
|
+ OUTPUT: |
|
+ RETVAL |
|
+ |
|
+SV * |
|
+qefft2_face_sfnt_name (Font_FreeType_Face face, FT_UInt idx) |
|
+ PREINIT: |
|
+ const char *ps_name; |
|
+ CODE: |
|
+ ps_name = FT_Get_Postscript_Name(face); |
|
+ if (ps_name) |
|
+ RETVAL = newSVpv(ps_name, 0); |
|
+ else |
|
+ RETVAL = &PL_sv_undef; |
|
+ OUTPUT: |
|
+ RETVAL |
|
+ |
|
|
|
MODULE = Font::FreeType PACKAGE = Font::FreeType::Glyph PREFIX = qefft2_glyph_ |
|
|
|
@@ -805,7 +834,8 @@ |
|
char_code = FT_Get_First_Char(face, &glyph_idx); |
|
while (glyph_idx) { |
|
if (glyph_idx == glyph->index) { |
|
- RETVAL = newSVuv((UV) glyph->char_code = char_code); |
|
+ glyph->char_code = char_code; |
|
+ RETVAL = newSVuv((UV) glyph->char_code); |
|
break; |
|
} |
|
char_code = FT_Get_Next_Char(face, char_code, &glyph_idx); |
|
@@ -1052,7 +1082,7 @@ |
|
rows = newAV(); |
|
av_extend(rows, bitmap->rows - 1); |
|
buf = bitmap->buffer; |
|
- row_buf = New(0, row_buf, bitmap->width, unsigned char); |
|
+ New(0, row_buf, bitmap->width, unsigned char); |
|
|
|
if (bitmap->pixel_mode == FT_PIXEL_MODE_MONO) { |
|
for (i = 0; i < bitmap->rows; ++i) {
|
|
|