You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by ap...@apache.org on 2007/06/18 13:42:24 UTC
svn commit: r548327 [2/2] - in /harmony/enhanced/classlib/trunk/modules/awt:
./ src/main/java/common/org/apache/harmony/awt/gl/font/fontlib/
src/main/native/fontlib/shared/ src/main/native/fontlib/shared/include/
src/main/native/fontlib/unix/ src/main/...
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/T1Glyph.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/T1Glyph.h?view=diff&rev=548327&r1=548326&r2=548327
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/T1Glyph.h (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/T1Glyph.h Mon Jun 18 04:42:19 2007
@@ -31,17 +31,17 @@
Type1Map *_charStringMap;
Type1Map *_subrsMap;
- float _relativeSize;
- float _glyphBB[4];
+ ffloat _relativeSize;
+ ffloat _glyphBB[4];
- void parseValueToOutline(EncodedValue *value, std::stack<float> *stack, Outline *out, float *curX, float *curY, float relativeSize);
- void countPoints(std::stack<float> *stack, EncodedValue *value, unsigned short *point, unsigned short *command);
+ void parseValueToOutline(EncodedValue *value, std::stack<ffloat> *stack, Outline *out, ffloat *curX, ffloat *curY, ffloat relativeSize);
+ void countPoints(std::stack<ffloat> *stack, EncodedValue *value, ufshort *point, ufshort *command);
public:
- T1Glyph(Type1Map *charStringMap, Type1Map *subrsMap, unsigned short unicode, unsigned short size, float relativeSize, float* fontBB);
+ T1Glyph(Type1Map *charStringMap, Type1Map *subrsMap, ufshort unicode, ufshort size, ffloat relativeSize, ffloat* fontBB);
~T1Glyph();
Outline* getOutline(void);
- float* getGlyphMetrics(void);
+ ffloat* getGlyphMetrics(void);
};
#endif //__TYPE_1_GLYPH_CLASS_H
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTCurve.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTCurve.cpp?view=diff&rev=548327&r1=548326&r2=548327
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTCurve.cpp (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTCurve.cpp Mon Jun 18 04:42:19 2007
@@ -35,7 +35,7 @@
delete[] _flags;
}
-int TTCurve::add(float x, float y, unsigned char flag)
+fint TTCurve::add(ffloat x, ffloat y, ufchar flag)
{
_len +=2;
@@ -44,13 +44,13 @@
else if (flag != 0)
_outlineCommandsNumb++;
- float* tmpC = _coords;
- unsigned char* tmpF = _flags;
+ ffloat* tmpC = _coords;
+ ufchar* tmpF = _flags;
- _coords = new float[_len];
- _flags = new unsigned char[(_len+1)/2];
+ _coords = new ffloat[_len];
+ _flags = new ufchar[(_len+1)/2];
- memcpy(_coords,tmpC,(_len-2)*sizeof(float));
+ memcpy(_coords,tmpC,(_len-2)*sizeof(ffloat));
_coords[_len-2] = x;
_coords[_len-1] = y;
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTCurve.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTCurve.h?view=diff&rev=548327&r1=548326&r2=548327
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTCurve.h (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTCurve.h Mon Jun 18 04:42:19 2007
@@ -21,6 +21,8 @@
#ifndef __CURVE_H__
#define __CURVE_H__
+#include "TypeDefinition.h"
+
enum{OPEN_FLAG=1, FLAG_ONCURVE=2};
class TTCurve
@@ -30,12 +32,12 @@
TTCurve();
~TTCurve();
- float* _coords;
- unsigned char* _flags;
- unsigned short _len;
- unsigned short _outlineCommandsNumb;
+ ffloat* _coords;
+ ufchar* _flags;
+ ufshort _len;
+ ufshort _outlineCommandsNumb;
- int add(float x, float y, unsigned char flag);
+ fint add(ffloat x, ffloat y, ufchar flag);
};
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTFont.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTFont.cpp?view=diff&rev=548327&r1=548326&r2=548327
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTFont.cpp (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTFont.cpp Mon Jun 18 04:42:19 2007
@@ -21,7 +21,7 @@
#include "TTFont.h"
#include "Tables.h"
-TTFont::TTFont(char* pathToFile):Font()
+TTFont::TTFont(fchar* pathToFile):Font()
{
_pathToFile=pathToFile;
_glyphOffsets.offsets = NULL;
@@ -36,14 +36,14 @@
parseCmapTable(_ttfile, &_tableEncode);
parseMaxpTable(_ttfile, &_numGlyphs);
parseHeadTable(_ttfile, _boundingBox, &(_glyphOffsets.format), &_unitsPerEm);
- for (int i=0; i<4; i++)
- _boundingBox[i]/=(float)(_unitsPerEm);
+ for (fint i=0; i<4; i++)
+ _boundingBox[i]/=(ffloat)(_unitsPerEm);
parseLocaTable(_ttfile, &(_glyphOffsets), _numGlyphs);
parseHheaTable(_ttfile, &_numOfHMetrics, &_ascent, &_descent, &_externalLeading);
- _ascent/=(float)(_unitsPerEm);
+ _ascent/=(ffloat)(_unitsPerEm);
_descent = ((_descent>0)?_descent:(-_descent))/_unitsPerEm;
- _externalLeading/=(float)(_unitsPerEm);
+ _externalLeading/=(ffloat)(_unitsPerEm);
parseHmtxTable(_ttfile, _numOfHMetrics, &_hMetrics);
fclose(_ttfile);
@@ -52,45 +52,45 @@
TTFont::~TTFont(void)
{
delete[] _glyphOffsets.offsets;
- delete[] (int*)(_tableEncode.TableEncode);
+ delete[] (fint*)(_tableEncode.TableEncode);
delete[] _psName;
delete[] _hMetrics;
}
-Glyph* TTFont::createGlyph(unsigned short unicode, unsigned short size)
+Glyph* TTFont::createGlyph(ufshort unicode, ufshort size)
{
TTGlyph *gl = new TTGlyph(this, unicode, size);
if (gl->_index < _numOfHMetrics)
- gl->_advanceX = _hMetrics[gl->_index].adwance_width*(float)(size)/(float)(_unitsPerEm);
+ gl->_advanceX = _hMetrics[gl->_index].adwance_width*(ffloat)(size)/(ffloat)(_unitsPerEm);
else
- gl->_advanceX = _hMetrics[_numOfHMetrics-1].adwance_width*(float)(size)/(float)(_unitsPerEm);
+ gl->_advanceX = _hMetrics[_numOfHMetrics-1].adwance_width*(ffloat)(size)/(ffloat)(_unitsPerEm);
gl->_advanceY = 0;
return gl;
}
-unsigned short TTFont::getGlyphIndex(unsigned short symb)
+ufshort TTFont::getGlyphIndex(ufshort symb)
{
- unsigned short index = 0;
+ ufshort index = 0;
if (_tableEncode.format == 0)
{
- unsigned char* te = (unsigned char*)_tableEncode.TableEncode;
+ ufchar* te = (ufchar*)_tableEncode.TableEncode;
index = te[symb];
}else if (_tableEncode.format == 4)
{
- unsigned short segCountX2;
- unsigned short segCount;
-// unsigned short search_range;
-// unsigned short entry_selector;
-// unsigned short range_shift;
- unsigned short* end_count;
- unsigned short* start_count;
- unsigned short* idDelta;
- unsigned short* idRangeOffset;
- unsigned short reservedPad;
- unsigned short* te = (unsigned short*)(_tableEncode.TableEncode);
- int i;
+ ufshort segCountX2;
+ ufshort segCount;
+// ufshort search_range;
+// ufshort entry_selector;
+// ufshort range_shift;
+ ufshort* end_count;
+ ufshort* start_count;
+ ufshort* idDelta;
+ ufshort* idRangeOffset;
+ ufshort reservedPad;
+ ufshort* te = (ufshort*)(_tableEncode.TableEncode);
+ fint i;
segCountX2 = te[0];
segCount = segCountX2/2;
@@ -117,14 +117,14 @@
return index;
}
-unsigned short TTFont::getUnicodeByIndex(unsigned short ind)
+ufshort TTFont::getUnicodeByIndex(ufshort ind)
{
- unsigned short symb = 0;
+ ufshort symb = 0;
if (_tableEncode.format == 0)
{
- unsigned char* te = (unsigned char*)_tableEncode.TableEncode;
- for (unsigned short i = 0; i<=_numGlyphs; i++)
+ ufchar* te = (ufchar*)_tableEncode.TableEncode;
+ for (ufshort i = 0; i<=_numGlyphs; i++)
{
if (ind = te[i])
{
@@ -135,15 +135,15 @@
}else
if (_tableEncode.format == 4)
{
- unsigned short segCountX2;
- unsigned short segCount;
- unsigned short* end_count;
- unsigned short* start_count;
- unsigned short* idDelta;
- unsigned short* idRangeOffset;
- unsigned short reservedPad;
- unsigned short* te = (unsigned short*)(_tableEncode.TableEncode);
- int i;
+ ufshort segCountX2;
+ ufshort segCount;
+ ufshort* end_count;
+ ufshort* start_count;
+ ufshort* idDelta;
+ ufshort* idRangeOffset;
+ ufshort reservedPad;
+ ufshort* te = (ufshort*)(_tableEncode.TableEncode);
+ fint i;
segCountX2 = te[0];
segCount = segCountX2/2;
@@ -156,10 +156,10 @@
for (i=0;i<segCount;i++)
{
if (idRangeOffset[i] != 0)
- for (int j=0; j< _numGlyphs; j++)
+ for (fint j=0; j< _numGlyphs; j++)
{
if (ind - idDelta[i] == idRangeOffset[j] )
- symb = (unsigned short)(&idRangeOffset[j] - idRangeOffset[i]/2 + start_count[i] - &idRangeOffset[i]);
+ symb = (ufshort)(&idRangeOffset[j] - idRangeOffset[i]/2 + start_count[i] - &idRangeOffset[i]);
}
else
symb = (ind - idDelta[i]) % 65536;
@@ -173,27 +173,27 @@
return symb;
}
-wchar_t* TTFont::getPSName()
+fwchar_t* TTFont::getPSName()
{
return _psName;
}
-float* TTFont::getLineMetrics()
+ffloat* TTFont::getLineMetrics()
{
//printf("reading file...\n");
_ttfile = fopen(_pathToFile,"rb");
- float* ret = new float[8];
+ ffloat* ret = new ffloat[8];
ret[0] = _ascent;
ret[1] = _descent;
ret[2] = _externalLeading;
- short uOffset, uThickness;
+ fshort uOffset, uThickness;
//printf("parsing POST table...\n");
parsePostTable(_ttfile, &uOffset, &uThickness);
- ret[3] = (float)uThickness/(float)(_unitsPerEm);
- ret[4] = (float)uOffset/(float)(_unitsPerEm);
+ ret[3] = (ffloat)uThickness/(ffloat)(_unitsPerEm);
+ ret[4] = (ffloat)uOffset/(ffloat)(_unitsPerEm);
//printf("parsing OS2 table...\n");
parseOs2Table(_ttfile, &_strikeOutSize, &_strikeOutOffset);
@@ -201,7 +201,7 @@
ret[5] = _strikeOutSize;
ret[6] = _strikeOutOffset;
- float width = _boundingBox[3]-_boundingBox[1];
+ ffloat width = _boundingBox[3]-_boundingBox[1];
ret[7] = (width>0)?width:(-width);
fclose(_ttfile);
@@ -209,9 +209,9 @@
return ret;
}
-bool TTFont::canDisplay(unsigned short c)
+bool TTFont::canDisplay(ufshort c)
{
- unsigned short index = getGlyphIndex(c);
+ ufshort index = getGlyphIndex(c);
#ifdef WIN32
bool isComposite = isCompositeGlyph(_ttfile, _glyphOffsets, _numGlyphs, index);
if (index == 0 || index >= _numGlyphs || isComposite)
@@ -226,7 +226,7 @@
/* *************** */
/* TTGlyph methods */
/* *************** */
-TTGlyph::TTGlyph(TTFont* font, unsigned short unicode, unsigned short size):Glyph()
+TTGlyph::TTGlyph(TTFont* font, ufshort unicode, ufshort size):Glyph()
{
_ttfont = font;
_unicode = unicode;
@@ -239,7 +239,7 @@
_ttfont->_ttfile = fopen(_ttfont->_pathToFile,"rb");
_index = _ttfont->getGlyphIndex(_unicode);
- parseGlyphData(_ttfont->_ttfile, _ttfont->_glyphOffsets,_ttfont->_numGlyphs,_index, _curve, _boundingRect, (float)_size/(float)(_ttfont->_unitsPerEm));
+ parseGlyphData(_ttfont->_ttfile, _ttfont->_glyphOffsets,_ttfont->_numGlyphs,_index, _curve, _boundingRect, (ffloat)_size/(ffloat)(_ttfont->_unitsPerEm));
fclose(_ttfont->_ttfile);
}
@@ -248,8 +248,8 @@
delete _curve;
}
-float* TTGlyph::getGlyphMetrics(void){
- float* gMetrics = new float[6];
+ffloat* TTGlyph::getGlyphMetrics(void){
+ ffloat* gMetrics = new ffloat[6];
gMetrics[0]=_advanceX;
gMetrics[1]=_advanceY;
@@ -265,7 +265,7 @@
{
Outline* outline = new Outline(_curve->_len,_curve->_outlineCommandsNumb);
- for (int i = 0; i<_curve->_len; i+=2)
+ for (fint i = 0; i<_curve->_len; i+=2)
{
switch(_curve->_flags[i/2])
{
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTFont.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTFont.h?view=diff&rev=548327&r1=548326&r2=548327
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTFont.h (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TTFont.h Mon Jun 18 04:42:19 2007
@@ -25,23 +25,24 @@
#include "Glyph.h"
#include "Outline.h"
#include "TTCurve.h"
+#include "TypeDefinition.h"
typedef struct
{
- short format; //format of the 'loca' table
- unsigned long* offsets;
+ fshort format; //format of the 'loca' table
+ uflong* offsets;
} GlyphOffsets;
typedef struct
{
- short format;
+ fshort format;
void* TableEncode;
} TableEncode;
typedef struct
{
- unsigned short adwance_width;
- short lsb;
+ ufshort adwance_width;
+ fshort lsb;
}HMetrics;
class TTGlyph;
@@ -50,48 +51,48 @@
{
friend class TTGlyph;
private:
- char* _pathToFile; // path to font file
- wchar_t *_psName; // postscript name of font
+ fchar* _pathToFile; // path to font file
+ fwchar_t *_psName; // postscript name of font
GlyphOffsets _glyphOffsets; //glyphs offsets in font file
TableEncode _tableEncode; // table with indexes of glyphs
- unsigned short _unitsPerEm; //size of em-square
- unsigned short _numOfHMetrics; // for 'hmtx' table
+ ufshort _unitsPerEm; //size of em-square
+ ufshort _numOfHMetrics; // for 'hmtx' table
HMetrics* _hMetrics; // horizontal metrics for all glyphs
FILE* _ttfile;
- unsigned short getGlyphIndex(unsigned short symb);
- unsigned short getUnicodeByIndex(unsigned short ind);
-// friend unsigned short TTGlyph::getGlyphIndex(unsigned short symb);
-// friend int TTGlyph::initialize();
+ ufshort getGlyphIndex(ufshort symb);
+ ufshort getUnicodeByIndex(ufshort ind);
+// friend ufshort TTGlyph::getGlyphIndex(ufshort symb);
+// friend fint TTGlyph::initialize();
public:
- TTFont(char* pathToFile);
+ TTFont(fchar* pathToFile);
~TTFont(void);
- Glyph* createGlyph(unsigned short unicode, unsigned short size);
- wchar_t* getPSName();
- float* getLineMetrics();
- bool canDisplay(unsigned short c);
+ Glyph* createGlyph(ufshort unicode, ufshort size);
+ fwchar_t* getPSName();
+ ffloat* getLineMetrics();
+ bool canDisplay(ufshort c);
-// float* GetExtraMetrics();
+// ffloat* GetExtraMetrics();
};
class TTGlyph : public Glyph {
private:
TTFont* _ttfont;
- unsigned short _index;
+ ufshort _index;
TTCurve* _curve;
- short _boundingRect[4];
+ fshort _boundingRect[4];
- friend Glyph* TTFont::createGlyph(unsigned short unicode, unsigned short size);
+ friend Glyph* TTFont::createGlyph(ufshort unicode, ufshort size);
public:
- TTGlyph(TTFont *font, unsigned short unicode, unsigned short size);
+ TTGlyph(TTFont *font, ufshort unicode, ufshort size);
~TTGlyph();
Outline* getOutline(void);
- float* getGlyphMetrics(void);
+ ffloat* getGlyphMetrics(void);
};
#endif //__TTFONT_H__
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/Tables.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/Tables.h?view=diff&rev=548327&r1=548326&r2=548327
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/Tables.h (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/Tables.h Mon Jun 18 04:42:19 2007
@@ -24,6 +24,7 @@
#include "TTCurve.h"
#include "TTFont.h"
+#include "TypeDefinition.h"
#define CMAP_TABLE "cmap" /* character to glyph mapping */
#define GLYF_TABLE "glyf" /* glyph data */
@@ -51,7 +52,7 @@
#define BIG5_ENCODING 3
#define PRC_ENCODING 4
-typedef long Fixed;
+typedef flong Fixed;
typedef long long LONGDT;
typedef enum
@@ -72,50 +73,50 @@
/* From Win GDI
typedef struct {
- unsigned char bFamilyType;
- unsigned char bSerifStyle;
- unsigned char bWeight;
- unsigned char bProportion;
- unsigned char bContrast;
- unsigned char bStrokeVariation;
- unsigned char bArmStyle;
- unsigned char bLetterform;
- unsigned char bMidline;
- unsigned char bXHeight;
+ ufchar bFamilyType;
+ ufchar bSerifStyle;
+ ufchar bWeight;
+ ufchar bProportion;
+ ufchar bContrast;
+ ufchar bStrokeVariation;
+ ufchar bArmStyle;
+ ufchar bLetterform;
+ ufchar bMidline;
+ ufchar bXHeight;
} PANOSE; */
typedef struct
{
Fixed version;
- unsigned short num_tables;
- unsigned short search_range;
- unsigned short entry_selector;
- unsigned short range_shift;
+ ufshort num_tables;
+ ufshort search_range;
+ ufshort entry_selector;
+ ufshort range_shift;
} Table_Offset;
typedef struct
{
- char tag[4];
- unsigned long checkSum;
- unsigned long offset;
- unsigned long length;
+ fchar tag[4];
+ uflong checkSum;
+ uflong offset;
+ uflong length;
} Table_Directory;
typedef struct
{
- unsigned short platformID;
- unsigned short encodingID;
- unsigned short languageID;
- unsigned short nameID;
- unsigned short string_length;
- unsigned short string_offset;
+ ufshort platformID;
+ ufshort encodingID;
+ ufshort languageID;
+ ufshort nameID;
+ ufshort string_length;
+ ufshort string_offset;
} Name_Entry;
typedef struct
{
- unsigned short format;
- unsigned short num_name_records;
- unsigned short storage_offset;
+ ufshort format;
+ ufshort num_name_records;
+ ufshort storage_offset;
Name_Entry name_record[1];
} Table_name;
@@ -123,20 +124,20 @@
typedef struct
{
Fixed version;
- unsigned short numGlyphs; // number of Glyphs
- unsigned short maxPoints;
- unsigned short maxContours;
- unsigned short maxCompositePoints;
- unsigned short maxCompositeContours;
- unsigned short maxZones;
- unsigned short maxTwilightPoints;
- unsigned short maxStorage;
- unsigned short maxFunctionDefs;
- unsigned short maxInstructionDefs;
- unsigned short maxStackElements;
- unsigned short maxSizeOfInstructions;
- unsigned short maxComponentElements;
- unsigned short maxComponentDepth;
+ ufshort numGlyphs; // number of Glyphs
+ ufshort maxPoints;
+ ufshort maxContours;
+ ufshort maxCompositePoints;
+ ufshort maxCompositeContours;
+ ufshort maxZones;
+ ufshort maxTwilightPoints;
+ ufshort maxStorage;
+ ufshort maxFunctionDefs;
+ ufshort maxInstructionDefs;
+ ufshort maxStackElements;
+ ufshort maxSizeOfInstructions;
+ ufshort maxComponentElements;
+ ufshort maxComponentDepth;
} Table_maxp;
/* TrueType Font Header table */
@@ -144,92 +145,92 @@
{
Fixed table_version;
Fixed font_revision;
- unsigned long checksum_adjust;
- unsigned long magic_number;
- unsigned short flags;
- unsigned short units_per_EM;
+ uflong checksum_adjust;
+ uflong magic_number;
+ ufshort flags;
+ ufshort units_per_EM;
LONGDT created;
LONGDT modified;
- short xMin;
- short yMin;
- short xMax;
- short yMax;
- unsigned short mac_style;
- unsigned short lowest_rec_PPEM;
- short font_direction;
- short index_to_loc_format; // format of 'loca' table
- short glyph_data_format;
+ fshort xMin;
+ fshort yMin;
+ fshort xMax;
+ fshort yMax;
+ ufshort mac_style;
+ ufshort lowest_rec_PPEM;
+ fshort font_direction;
+ fshort index_to_loc_format; // format of 'loca' table
+ fshort glyph_data_format;
} Table_head;
typedef struct
{
Fixed table_version;
- short ascender; /* typographic ascent */
- short descender; /* typographic descent */
- short line_gap; /* typographic line gap */
- unsigned short advance_width_max; /* Maximum advance width value in hmtx table */
- short min_left_sidebearing;
- short min_right_sidebearing; /* Min(aw - lsb - (xMax - xMin)) */
- short xMaxExtent; /* Max(lsb + (xMax - xMin)) */
- short caret_slope_rise;
- short caret_slope_run;
- short first_reserved;
- short second_reserved;
- short third_reserved;
- short fourth_reserved;
- short fifth_reserved;
- short metric_data_format;
- unsigned short number_of_hMetrics;
+ fshort ascender; /* typographic ascent */
+ fshort descender; /* typographic descent */
+ fshort line_gap; /* typographic line gap */
+ ufshort advance_width_max; /* Maximum advance width value in hmtx table */
+ fshort min_left_sidebearing;
+ fshort min_right_sidebearing; /* Min(aw - lsb - (xMax - xMin)) */
+ fshort xMaxExtent; /* Max(lsb + (xMax - xMin)) */
+ fshort caret_slope_rise;
+ fshort caret_slope_run;
+ fshort first_reserved;
+ fshort second_reserved;
+ fshort third_reserved;
+ fshort fourth_reserved;
+ fshort fifth_reserved;
+ fshort metric_data_format;
+ ufshort number_of_hMetrics;
} Table_hhea;
typedef struct
{
- unsigned short table_version;
- short xAvgCharWidth;
- unsigned short usWeightClass;
- unsigned short usWidthClass;
- short fsType;
- short ySubscriptXSize;
- short ySubscriptYSize;
- short ySubscriptXOffset;
- short ySubscriptYOffset;
- short ySuperscriptXSize;
- short ySuperscriptYSize;
- short ySuperscriptXOffset;
- short ySuperscriptYOffset;
- short yStrikeoutSize;
- short yStrikeoutPosition;
- short sFamilyClass;
+ ufshort table_version;
+ fshort xAvgCharWidth;
+ ufshort usWeightClass;
+ ufshort usWidthClass;
+ fshort fsType;
+ fshort ySubscriptXSize;
+ fshort ySubscriptYSize;
+ fshort ySubscriptXOffset;
+ fshort ySubscriptYOffset;
+ fshort ySuperscriptXSize;
+ fshort ySuperscriptYSize;
+ fshort ySuperscriptXOffset;
+ fshort ySuperscriptYOffset;
+ fshort yStrikeoutSize;
+ fshort yStrikeoutPosition;
+ fshort sFamilyClass;
// PANOSE panose;
- unsigned char panose[10];
- unsigned long ulUnicodeRange1;
- unsigned long ulUnicodeRange2;
- unsigned long ulUnicodeRange3;
- unsigned long ulUnicodeRange4;
- unsigned char achVendID[4];
- unsigned short fsSelection;
- unsigned short usFirstCharIndex;
- unsigned short usLastCharIndex;
- unsigned short sTypoAscender;
- unsigned short sTypoDescender;
- unsigned short sTypoLineGap;
- unsigned short sWinAscent;
- unsigned short sWinDescent;
- unsigned long ulCodePageRange1;
- unsigned long ulCodePageRange2;
+ ufchar panose[10];
+ uflong ulUnicodeRange1;
+ uflong ulUnicodeRange2;
+ uflong ulUnicodeRange3;
+ uflong ulUnicodeRange4;
+ ufchar achVendID[4];
+ ufshort fsSelection;
+ ufshort usFirstCharIndex;
+ ufshort usLastCharIndex;
+ ufshort sTypoAscender;
+ ufshort sTypoDescender;
+ ufshort sTypoLineGap;
+ ufshort sWinAscent;
+ ufshort sWinDescent;
+ uflong ulCodePageRange1;
+ uflong ulCodePageRange2;
} Table_os2;
typedef struct
{
- unsigned short platform; //identifier of platform
- unsigned short encodingID; //identifier fo encoding
- unsigned long table_offset; //offset of the encoding table
+ ufshort platform; //identifier of platform
+ ufshort encodingID; //identifier fo encoding
+ uflong table_offset; //offset of the encoding table
} Cmap_Entry;
typedef struct
{
- unsigned short table_version; // =0
- unsigned short numSubTables; //number subtables
+ ufshort table_version; // =0
+ ufshort numSubTables; //number subtables
Cmap_Entry tableHeaders[1]; //headers of subtables
} Table_cmap;
@@ -237,78 +238,78 @@
{
Fixed format; //format type
Fixed italic_angle;
- short underlineOffset;
- short underlineThickness;
- unsigned long isFixedPitch;
- unsigned long minMemType42;
- unsigned long maxMemType42;
- unsigned long minMemType1;
- unsigned long maxMemType1;
+ fshort underlineOffset;
+ fshort underlineThickness;
+ uflong isFixedPitch;
+ uflong minMemType42;
+ uflong maxMemType42;
+ uflong minMemType1;
+ uflong maxMemType1;
} Table_post;
/* first part of the encoding table identical for all format of them */
typedef struct
{
- unsigned short format;
- unsigned short length; //length in bytes
- unsigned short version;
+ ufshort format;
+ ufshort length; //length in bytes
+ ufshort version;
} Table_encode_header;
/*
typedef struct
{
- unsigned short format; // =0,2,4,6
- unsigned short length; // size
- unsigned short version;
- unsigned char map[256];
+ ufshort format; // =0,2,4,6
+ ufshort length; // size
+ ufshort version;
+ ufchar map[256];
} Table_encode_0;
typedef struct
{
-// unsigned short segCountX2; // 2 x segCount
- unsigned short search_range; // 2 x (2**floor(log_2(segCount)))
- unsigned short entry_selector; // log_2(search_range/2)
- unsigned short range_shift; // 2 x segCount - search_range
- unsigned short end_count[1]; // end characterCode for each segment, last =0xFFFF, length = segCount
- unsigned short reservedPad; // = 0
- unsigned short start_count[1]; // Start character code for each segment, length = segCount
- unsigned short idDelta[1]; // Delta for all character codes in segment, length = segCount
- unsigned short idRangeOffset[1]; // Offsets into glyphIdArray or 0, length = segCount
- unsigned short glyphIdArray[]; // Glyph index array (arbitrary length)
+// ufshort segCountX2; // 2 x segCount
+ ufshort search_range; // 2 x (2**floor(log_2(segCount)))
+ ufshort entry_selector; // log_2(search_range/2)
+ ufshort range_shift; // 2 x segCount - search_range
+ ufshort end_count[1]; // end characterCode for each segment, last =0xFFFF, length = segCount
+ ufshort reservedPad; // = 0
+ ufshort start_count[1]; // Start character code for each segment, length = segCount
+ ufshort idDelta[1]; // Delta for all character codes in segment, length = segCount
+ ufshort idRangeOffset[1]; // Offsets into glyphIdArray or 0, length = segCount
+ ufshort glyphIdArray[]; // Glyph index array (arbitrary length)
} Table_encode_4;
*/
typedef struct
{
- short number_of_contours; // <0 for composite glyph
- short xMin;
- short yMin;
- short xMax;
- short yMax;
+ fshort number_of_contours; // <0 for composite glyph
+ fshort xMin;
+ fshort yMin;
+ fshort xMax;
+ fshort yMax;
} Glyph_header;
-template<short n> // n = number_of_contours from Glyph_header
+template<fshort n> // n = number_of_contours from Glyph_header
struct SimpleGlyphDescription
{
- unsigned short endPtsOfContours[n];
- unsigned short instruction_length;
-// unsigned char instructions[instruction_length];
-// unsigned char flags[n];
-// unsigned char(short) xCoordinates[n];
-// unsigned char(short) yCoordinates[n];
+ ufshort endPtsOfContours[n];
+ ufshort instruction_length;
+// ufchar instructions[instruction_length];
+// ufchar flags[n];
+// ufchar(fshort) xCoordinates[n];
+// ufchar(fshort) yCoordinates[n];
};
-int parseCmapTable(FILE* tt_file, TableEncode* te);
-int parseNameTable(FILE* tt_file, wchar_t** familyName, wchar_t** psName, StyleName* fontStyle);
-int parseHeadTable(FILE* tt_file, float* bbox, short* format, unsigned short* unitsPerEm);
-int parseHheaTable(FILE* tt_file, unsigned short* numOfHMetrics, float* ascent, float* descent, float* lineGap);
-int parseMaxpTable(FILE* tt_file, unsigned short *numGlyphs);
-int parseLocaTable(FILE* tt_file, GlyphOffsets* gOffsets, unsigned short numGlyphs);
-int parseOs2Table(FILE* tt_file, float* strikeOutSize, float* strikeOutOffset);
-int parsePostTable(FILE* tt_file, short* uOffset, short* uThickness);
-int parseGlyphData(FILE* tt_file, const GlyphOffsets gO, unsigned short numGlyphs, unsigned short glyphIndex, TTCurve *curve, short* bRect, float transform);
-int parseHmtxTable(FILE* tt_file, unsigned short numOfHMetrics, HMetrics** hm);
-bool isCompositeGlyph(FILE* tt_file, const GlyphOffsets gO, unsigned short numGlyphs, unsigned short glyphIndex);
+fint parseCmapTable(FILE* tt_file, TableEncode* te);
+fint parseNameTable(FILE* tt_file, fwchar_t** familyName, fwchar_t** psName, StyleName* fontStyle);
+fint parseHeadTable(FILE* tt_file, ffloat* bbox, fshort* format, ufshort* unitsPerEm);
+fint parseHheaTable(FILE* tt_file, ufshort* numOfHMetrics, ffloat* ascent, ffloat* descent, ffloat* lineGap);
+fint parseMaxpTable(FILE* tt_file, ufshort *numGlyphs);
+fint parseLocaTable(FILE* tt_file, GlyphOffsets* gOffsets, ufshort numGlyphs);
+fint parseOs2Table(FILE* tt_file, ffloat* strikeOutSize, ffloat* strikeOutOffset);
+fint parsePostTable(FILE* tt_file, fshort* uOffset, fshort* uThickness);
+fint parseGlyphData(FILE* tt_file, const GlyphOffsets gO, ufshort numGlyphs, ufshort glyphIndex, TTCurve *curve, fshort* bRect, ffloat transform);
+fint parseHmtxTable(FILE* tt_file, ufshort numOfHMetrics, HMetrics** hm);
+bool isCompositeGlyph(FILE* tt_file, const GlyphOffsets gO, ufshort numGlyphs, ufshort glyphIndex);
#endif
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/Type1Structs.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/Type1Structs.h?view=diff&rev=548327&r1=548326&r2=548327
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/Type1Structs.h (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/Type1Structs.h Mon Jun 18 04:42:19 2007
@@ -25,51 +25,52 @@
#include <map>
#include "EncodedValue.h"
#include "AGL.h"
+#include "TypeDefinition.h"
-typedef std::map<const unsigned short, EncodedValue*> Type1Map;
+typedef std::map<const ufshort, EncodedValue*> Type1Map;
-typedef std::map<unsigned short, unsigned short> Type1GlyphCodeMap;
+typedef std::map<ufshort, ufshort> Type1GlyphCodeMap;
-typedef std::map<unsigned short, char*> Type1AFMMap;
+typedef std::map<ufshort, fchar*> Type1AFMMap;
typedef enum DecodeStateTag {HEADER, PRIVATE_DIR, SUBRS_MASSIVE, CHAR_STRING} DecodeState;
-typedef std::map<const char*, const unsigned short> Type1CharMap;//inner glyph number -- unicode
+typedef std::map<const fchar*, const ufshort> Type1CharMap;//inner glyph number -- unicode
-static const unsigned short MAX_STR_LENGHT = 1024;
-static const unsigned short C1 = 52845;
-static const unsigned short C2 = 22719;
-static const unsigned short DEF_R_EXEC = 55665;
-static const unsigned short DEF_LENIV = 4;
-static const unsigned short DEF_R_CHARSTRING = 4330;
-
-static const unsigned char CH_STR_HSTEM = 1;
-static const unsigned char CH_STR_VSTEM = 3;
-static const unsigned char CH_STR_VMOVETO = 4;
-static const unsigned char CH_STR_RLINETO = 5;
-static const unsigned char CH_STR_HLINETO = 6;
-static const unsigned char CH_STR_VLINETO = 7;
-static const unsigned char CH_STR_RRCURVETO = 8;
-static const unsigned char CH_STR_CLOSEPATH = 9;
-static const unsigned char CH_STR_CALLSUBR = 10;
-static const unsigned char CH_STR_RETURN = 11;
-static const unsigned char CH_STR_ESCAPE = 12;
-static const unsigned char CH_STR_HSBW = 13;
-static const unsigned char CH_STR_ENDCHAR = 14;
-static const unsigned char CH_STR_RMOVETO = 21;
-static const unsigned char CH_STR_HMOVETO = 22;
-static const unsigned char CH_STR_VHCURVETO = 30;
-static const unsigned char CH_STR_HVCURVETO = 31;
-
-static const unsigned char CH_STR_ESCAPE_DOTSECTION = 0;
-static const unsigned char CH_STR_ESCAPE_VSTEM3 = 1;
-static const unsigned char CH_STR_ESCAPE_HSTEM3 = 2;
-static const unsigned char CH_STR_ESCAPE_SEAC = 6;
-static const unsigned char CH_STR_ESCAPE_SBW = 7;
-static const unsigned char CH_STR_ESCAPE_DIV = 12;
-static const unsigned char CH_STR_ESCAPE_CALLOTHERSUBR = 16;
-static const unsigned char CH_STR_ESCAPE_POP = 17;
-static const unsigned char CH_STR_ESCAPE_SETCURRENTPOINT = 33;
+static const ufshort MAX_STR_LENGHT = 1024;
+static const ufshort C1 = 52845;
+static const ufshort C2 = 22719;
+static const ufshort DEF_R_EXEC = 55665;
+static const ufshort DEF_LENIV = 4;
+static const ufshort DEF_R_CHARSTRING = 4330;
+
+static const ufchar CH_STR_HSTEM = 1;
+static const ufchar CH_STR_VSTEM = 3;
+static const ufchar CH_STR_VMOVETO = 4;
+static const ufchar CH_STR_RLINETO = 5;
+static const ufchar CH_STR_HLINETO = 6;
+static const ufchar CH_STR_VLINETO = 7;
+static const ufchar CH_STR_RRCURVETO = 8;
+static const ufchar CH_STR_CLOSEPATH = 9;
+static const ufchar CH_STR_CALLSUBR = 10;
+static const ufchar CH_STR_RETURN = 11;
+static const ufchar CH_STR_ESCAPE = 12;
+static const ufchar CH_STR_HSBW = 13;
+static const ufchar CH_STR_ENDCHAR = 14;
+static const ufchar CH_STR_RMOVETO = 21;
+static const ufchar CH_STR_HMOVETO = 22;
+static const ufchar CH_STR_VHCURVETO = 30;
+static const ufchar CH_STR_HVCURVETO = 31;
+
+static const ufchar CH_STR_ESCAPE_DOTSECTION = 0;
+static const ufchar CH_STR_ESCAPE_VSTEM3 = 1;
+static const ufchar CH_STR_ESCAPE_HSTEM3 = 2;
+static const ufchar CH_STR_ESCAPE_SEAC = 6;
+static const ufchar CH_STR_ESCAPE_SBW = 7;
+static const ufchar CH_STR_ESCAPE_DIV = 12;
+static const ufchar CH_STR_ESCAPE_CALLOTHERSUBR = 16;
+static const ufchar CH_STR_ESCAPE_POP = 17;
+static const ufchar CH_STR_ESCAPE_SETCURRENTPOINT = 33;
//#define GLYPH_OUTLINE_CREATE_DEBUG
Added: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TypeDefinition.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TypeDefinition.cpp?view=auto&rev=548327
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TypeDefinition.cpp (added)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TypeDefinition.cpp Mon Jun 18 04:42:19 2007
@@ -0,0 +1,29 @@
+#include "TypeDefinition.h"
+
+fint fwcslen(fwchar_t* str)
+{
+ fint counter=0;
+ fwchar_t* tmpstr = str;
+ while(*tmpstr != 0)
+ {
+ tmpstr++;
+ counter++;
+ }
+ return counter;
+}
+
+fint fwcscmp(fwchar_t* str1, fwchar_t* str2)
+{
+ fwchar_t* tmpstr1 = str1;
+ fwchar_t* tmpstr2 = str2;
+ while(*tmpstr1 != 0 || *tmpstr2 !=0)
+ {
+ if (*tmpstr1 != *tmpstr2)
+ return -1;
+
+ tmpstr1++;
+ tmpstr2++;
+ }
+
+ return 0;
+}
\ No newline at end of file
Propchange: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TypeDefinition.cpp
------------------------------------------------------------------------------
svn:eol-style = native
Added: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TypeDefinition.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TypeDefinition.h?view=auto&rev=548327
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TypeDefinition.h (added)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TypeDefinition.h Mon Jun 18 04:42:19 2007
@@ -0,0 +1,35 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef __TYPEDEFINITION_H__
+#define __TYPEDEFINITION_H__
+
+typedef int fint;
+typedef long flong;
+typedef unsigned long uflong;
+typedef double fdouble;
+typedef float ffloat;
+typedef unsigned char ufchar;
+typedef char fchar;
+typedef unsigned short ufshort;
+typedef short fshort;
+typedef unsigned short fwchar_t;
+
+fint fwcslen(fwchar_t* str);
+fint fwcscmp(fwchar_t* str1, fwchar_t* str2);
+
+#endif
Propchange: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/TypeDefinition.h
------------------------------------------------------------------------------
svn:eol-style = native
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/fljni.cpp
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/fljni.cpp?view=diff&rev=548327&r1=548326&r2=548327
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/fljni.cpp (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/fljni.cpp Mon Jun 18 04:42:19 2007
@@ -31,24 +31,24 @@
JNIEXPORT void JNICALL Java_org_apache_harmony_awt_gl_font_fontlib_FLFontManager_initManager
(JNIEnv *env, jobject obj) {
-// jboolean iscopy;
+ //jboolean iscopy;
//printf("getting fonts...\n");
- Environment::getAllFonts();
+ //Environment::getAllFonts();
//printf("fonts added\n");
-#ifdef WIN32
- //char *nativePath = (char *)(env->GetStringUTFChars(path, &iscopy));
+//#ifdef WIN32
+ //fchar *nativePath = (fchar *)(env->GetStringUTFChars(path, &iscopy));
//Environment::addPath(nativePath);
//env->ReleaseStringUTFChars(path, nativePath);
-#endif
+//#endif
fontClass = env->FindClass("java/awt/Font");
outlineClass = env->FindClass("org/apache/harmony/awt/gl/font/fontlib/FLOutline");
fontConstructor = env->GetMethodID(fontClass, "<init>", "(Ljava/lang/String;II)V");
- setOutline = env->GetMethodID(outlineClass, "setOutline", "([B[F)V");
+ setOutline = env->GetMethodID(outlineClass, "setOutline", "([B[F)V");
}
/*
@@ -59,7 +59,7 @@
JNIEXPORT jobjectArray JNICALL Java_org_apache_harmony_awt_gl_font_fontlib_FLFontManager_getAllFontsNative
(JNIEnv *env, jobject obj) {
- Environment::getAllFonts();
+ Environment::getAllFonts();
if (Environment::_length == 0) return NULL;
@@ -69,23 +69,23 @@
FontHeader *fh = Environment::getAllFonts();
- for (unsigned short i = 0; i < Environment::_length; i ++){
-#ifndef WIN32
- unsigned short fName[wcslen((wchar_t *)fh->_familyName)];
- for(unsigned short a = 0; a<wcslen(fh->_familyName); a++){
- fName[a]=(unsigned short)(fh->_familyName[a]);
- }
-#endif
+ for (ufshort i = 0; i < Environment::_length; i ++){
+/*#ifndef WIN32
+ ufshort fName[fwcslen((fwchar_t *)fh->_familyName)];
+ for(ufshort a = 0; a<fwcslen(fh->_familyName); a++){
+ fName[a]=(ufshort)(fh->_familyName[a]);
+ }
+#endif*/
env->SetObjectArrayElement(fonts, i, env->NewObject(
fontClass,
fontConstructor,
-#ifdef WIN32
- env->NewString((jchar *)fh->_familyName, (jsize) wcslen((wchar_t *)fh->_familyName)),
-#else
- env->NewString((jchar*)fName, (jsize) wcslen((wchar_t *)fh->_familyName)),
-#endif
- (jint) (char) fh->_style,
+//#ifdef WIN32
+ env->NewString((jchar *)fh->_familyName, (jsize) fwcslen((fwchar_t *)fh->_familyName)),
+/*#else
+ env->NewString((jchar*)fName, (jsize) fwcslen((fwchar_t *)fh->_familyName)),
+#endif*/
+ (jint) (fchar) fh->_style,
(jint) 1
));
fh = fh->_nextHeader;
@@ -95,24 +95,25 @@
}
JNIEXPORT jobject JNICALL Java_org_apache_harmony_awt_gl_font_fontlib_FLFontManager_addFont
-(JNIEnv *env, jobject obj, jstring fontPath, jint type) {
+(JNIEnv *env, jobject obj, jstring fontPath, jint type) {
+
jboolean iscopy;
fontClass = env->FindClass("java/awt/Font");
- char *nativePath = (char *)(env->GetStringUTFChars(fontPath, &iscopy));
+ fchar *nativePath = (fchar *)(env->GetStringUTFChars(fontPath, &iscopy));
FontHeader *fh = Environment::addFile(nativePath, (FontType)type);
- env->ReleaseStringUTFChars(fontPath, nativePath);
+ env->ReleaseStringUTFChars(fontPath, nativePath);
if (fh == NULL) return NULL;
return env->NewObject(
fontClass,
fontConstructor,
- env->NewString((jchar *)fh->_familyName, (jsize) wcslen((wchar_t *)fh->_familyName)),
- (jint) (char) fh->_style,
+ env->NewString((jchar *)fh->_familyName, (jsize) fwcslen((fwchar_t *)fh->_familyName)),
+ (jint) (fchar) fh->_style,
(jint) 1
);
}
@@ -136,9 +137,9 @@
(JNIEnv *env, jobject obj, jstring fontName, jint style) {
jboolean iscopy;
- //char *getenv( const char *name );
+ //fchar *getenv( const fchar *name );
- char *tName = (char *)(env->GetStringUTFChars(fontName, &iscopy));
+ fchar *tName = (fchar *)(env->GetStringUTFChars(fontName, &iscopy));
Font *font = createFont(tName, (StyleName) style);
@@ -151,7 +152,7 @@
#ifdef WIN32
return (jlong) font;
#else
- return (jlong) (long) font;
+ return (jlong) (flong) font;
#endif
}
@@ -165,15 +166,15 @@
#ifdef WIN32
Font *font = (Font *) ptr;
#else
- Font *font = (Font *) (long)ptr;
+ Font *font = (Font *) (flong)ptr;
#endif
jfloatArray metrics = env->NewFloatArray((jsize) FONT_METRICS_QUANTITY);
- float *buffer = (float *)env->GetPrimitiveArrayCritical(metrics, NULL);
+ ffloat *buffer = (ffloat *)env->GetPrimitiveArrayCritical(metrics, NULL);
//printf("getting line metrics...\n");
- float *lineMetrics;
- memcpy(buffer, lineMetrics = font->getLineMetrics(), FONT_METRICS_QUANTITY * sizeof(float));
+ ffloat *lineMetrics;
+ memcpy(buffer, lineMetrics = font->getLineMetrics(), FONT_METRICS_QUANTITY * sizeof(ffloat));
//printf("line metrics gotten");
delete[] lineMetrics;
@@ -193,12 +194,12 @@
#ifdef WIN32
Font *font = (Font *) ptr;
#else
- Font *font = (Font *) (long)ptr;
+ Font *font = (Font *) (flong)ptr;
#endif
- wchar_t *psName = font->getPSName();
+ fwchar_t *psName = font->getPSName();
- return env->NewString((jchar *) psName, (jsize) wcslen(psName));
+ return env->NewString((jchar *) psName, (jsize) fwcslen(psName));
}
/*
@@ -211,7 +212,7 @@
#ifdef WIN32
Font *font = (Font *) ptr;
#else
- Font *font = (Font *) (long)ptr;
+ Font *font = (Font *) (flong)ptr;
#endif
return (jint) font->getMissingGlyphCode();
@@ -222,10 +223,10 @@
#ifdef WIN32
Font *font = (Font *) ptr;
#else
- Font *font = (Font *) (long)ptr;
+ Font *font = (Font *) (flong)ptr;
#endif
- return (jchar) font->getUnicodeByIndex((unsigned short) index);
+ return (jchar) font->getUnicodeByIndex((ufshort) index);
}
/*
@@ -238,7 +239,7 @@
#ifdef WIN32
delete (Font *) ptr;
#else
- delete (Font *) (long) ptr;
+ delete (Font *) (flong) ptr;
#endif
}
@@ -252,10 +253,10 @@
#ifdef WIN32
Font *font = (Font *) ptr;
#else
- Font *font = (Font *) (long)ptr;
+ Font *font = (Font *) (flong)ptr;
#endif
- return font->canDisplay((unsigned short)ch);
+ return font->canDisplay((ufshort)ch);
}
/*
@@ -268,14 +269,14 @@
#ifdef WIN32
Glyph *glyph = (Glyph *) ptr;
#else
- Glyph *glyph = (Glyph *) (long)ptr;
+ Glyph *glyph = (Glyph *) (flong)ptr;
#endif
jfloatArray metrics = env->NewFloatArray((jsize) GLYPH_METRICS_QUANTITY);
- float *buffer = (float *)env->GetPrimitiveArrayCritical(metrics, NULL);
+ ffloat *buffer = (ffloat *)env->GetPrimitiveArrayCritical(metrics, NULL);
- memcpy(buffer, glyph->getGlyphMetrics(), GLYPH_METRICS_QUANTITY * sizeof(float));
+ memcpy(buffer, glyph->getGlyphMetrics(), GLYPH_METRICS_QUANTITY * sizeof(ffloat));
env->ReleasePrimitiveArrayCritical(metrics, buffer, 0);
@@ -291,10 +292,10 @@
(JNIEnv *env, jobject obj, jchar ch, jint size, jlong ptr) {
#ifdef WIN32
Font *font = (Font *) ptr;
- return (jlong) font->getGlyph((unsigned short) ch, (unsigned short) size);
+ return (jlong) font->getGlyph((ufshort) ch, (ufshort) size);
#else
- Font *font = (Font *) (long)ptr;
- return (jlong) (long) font->getGlyph((unsigned short) ch, (unsigned short) size);
+ Font *font = (Font *) (flong)ptr;
+ return (jlong) (flong) font->getGlyph((ufshort) ch, (ufshort) size);
#endif
}
@@ -308,7 +309,7 @@
#ifdef WIN32
Glyph *glyph = (Glyph *) ptr;
#else
- Glyph *glyph = (Glyph *) (long)ptr;
+ Glyph *glyph = (Glyph *) (flong)ptr;
#endif
Outline* out = glyph->getOutline();
@@ -316,7 +317,7 @@
out->trim();
jbyteArray commands = env->NewByteArray((jsize) out->getCommandLength());
- unsigned char *native_buffer = (unsigned char *)env->GetPrimitiveArrayCritical(commands, NULL);
+ ufchar *native_buffer = (ufchar *)env->GetPrimitiveArrayCritical(commands, NULL);
memcpy(native_buffer, out->_commands, out->getCommandLength());
@@ -324,9 +325,9 @@
jfloatArray points = env->NewFloatArray((jsize) out->getPointsLength());
- float *buffer = (float *)env->GetPrimitiveArrayCritical(points, NULL);
+ ffloat *buffer = (ffloat *)env->GetPrimitiveArrayCritical(points, NULL);
- memcpy(buffer, out->_points, out->getPointsLength() * sizeof(float));
+ memcpy(buffer, out->_points, out->getPointsLength() * sizeof(ffloat));
env->ReleasePrimitiveArrayCritical(points, buffer, 0);
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/include/fljni.h
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/include/fljni.h?view=diff&rev=548327&r1=548326&r2=548327
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/include/fljni.h (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/shared/include/fljni.h Mon Jun 18 04:42:19 2007
@@ -24,6 +24,7 @@
#include "org_apache_harmony_awt_gl_font_fontlib_FLFontPeer.h"
#include "Environment.h"
+#include "TypeDefinition.h"
#include "Font.h"
//#include <stdlib.h>
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/unix/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/unix/makefile?view=diff&rev=548327&r1=548326&r2=548327
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/unix/makefile (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/unix/makefile Mon Jun 18 04:42:19 2007
@@ -16,7 +16,7 @@
include $(HY_HDK)/build/make/defines.mk
CFLAGS += -fpic
-INCLUDES += -I$(SHARED)common -I$(SHAREDSUB)include -I$(PNG_DIR)
+INCLUDES += -I$(SHARED)common -I$(SHAREDSUB)include
BUILDFILES = \
$(SHAREDSUB)fljni.o \
@@ -29,10 +29,14 @@
$(SHAREDSUB)T1Font.o \
$(SHAREDSUB)T1Glyph.o \
$(SHAREDSUB)TTCurve.o \
- $(SHAREDSUB)TTFont.o
+ $(SHAREDSUB)TTFont.o \
+ $(SHAREDSUB)TypeDefinition.o
+
+ifneq ($(HY_ZIP_API),true)
+MDLLIBFILES += $(LIBPATH)libhyzip.a $(DLLPATH)libhyzlib$(HY_LINKLIB_SUFFIX)
+endif
MDLLIBFILES += \
- $(LIBPATH)libhyzip.a $(DLLPATH)libhyzlib.so \
$(LIBPATH)libhypool.a $(LIBPATH)libhyfdlibm.a $(LIBPATH)libvmi.so
OSLIBS += $(STDCLIBS)
Modified: harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/windows/makefile
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/windows/makefile?view=diff&rev=548327&r1=548326&r2=548327
==============================================================================
--- harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/windows/makefile (original)
+++ harmony/enhanced/classlib/trunk/modules/awt/src/main/native/fontlib/windows/makefile Mon Jun 18 04:42:19 2007
@@ -34,7 +34,8 @@
$(SHAREDSUB)T1Font.obj \
$(SHAREDSUB)T1Glyph.obj \
$(SHAREDSUB)TTCurve.obj \
- $(SHAREDSUB)TTFont.obj
+ $(SHAREDSUB)TTFont.obj \
+ $(SHAREDSUB)TypeDefinition.obj
VIRTFILES = $(LIBBASE).res
SYSLIBFILES = ws2_32.lib Iphlpapi.lib