Fix def files so that the implementation agnostic interface definition has no non-standards defined entry points, and change the eglrefimpl specific implementation to place its private entry points high up in the ordinal order space in the implementation region, not the standards based entrypoints region.
/*
* Copyright (c) 1997-2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description:
* Header FNTREADR.H
*
*/
#ifndef __FNTREADR_H__
#define __FNTREADR_H__
#include "FNTRECRD.H"
#include "LST.H"
#include "READER.H"
/**
@internalComponent
*/
const uint16 KMaxSizeCodeSectionBitmap = 0x7FFF;
const int KMaxBitmapWidth = 0x7f;
const int KMaxBitmapHeight = 0x7f;
const int KNumberOfBitsInByte = 8;
/**
@internalComponent
*/
const int KLowestPermittedCharacterEncoding = 0x0000;
const int KHighestPermittedCharacterEncoding = 0xffff;
/**
@internalComponent
*/
const int KMaxNumberRepeatedLines = 15; // maximum number of repeated lines in font compiler
/**
KFillCharacterOffset is a significant offset that is set when a character within a code section is
not in the font. This means that for these fill characters nothing is stored within the binary
data part of the code section
@internalComponent
*/
const uint16 KFillCharacterOffset = 0x7FFF;
/**
Resource identifiers
@internalComponent
*/
const String IdentFontBitmap("FontBitmap");
const String IdentSTARTFONT("STARTFONT");
const String IdentTypeface("Typeface");
const String IdentFontStoreFile("FontStoreFile");
/**
Char identifiers
@internalComponent
*/
const String IdentAdjust("Adjust");
const String IdentEndChar("EndChar");
/**
Codesection identifiers
@internalComponent
*/
const String IdentEndCodeSection("EndCodeSection");
const String IdentChar("Char");
/**
Fontbitmap identifiers
@internalComponent
*/
const String IdentEndFontBitmap("EndFontBitmap");
const String IdentUid("Uid");
const String IdentBold("Bold");
const String IdentItalic("Italic");
const String IdentFontBitmapProportional("Proportional");
const String IdentCellHeight("CellHeight");
const String IdentAscent("Ascent");
const String IdentMaxNormalCharWidth("MaxNormalCharWidth");
const String IdentBitmapEncoding("BitmapEncoding");
const String IdentCodeSection("CodeSection");
const String IdentMaxConsecutiveFillChars("MaxConsecutiveFillChars");
/**
BDF CHAR identifiers
@internalComponent
*/
const String IdentBDFFileHeader("STARTFONT");
const String IdentBDFComment("COMMENT");
const String IdentBDFContentVersion("CONTENTVERSION");
const String IdentBDFFontBitmap("FONT");
const String IdentBDFPointSize("SIZE");
const String IdentBDFFontDesignBox("FONTBOUNDINGBOX");
const String IdentBDFWritingDirection("METRICSSET");
const String IdentBDFStartProperties("STARTPROPERTIES");
const String IdentBDFPropertyUid("UID");
const String IdentBDFPropertyBold("BOLD");
const String IdentBDFPropertyItalic("ITALIC");
const String IdentBDFPropertyFontAscent("FONTASCENT");
const String IdentBDFPropertyFontDescent("FONTDESCENT");
const String IdentBDFPropertyMaxNormalCharWidth("MAXNORMALCHARWIDTH");
const String IdentBDFPropertyMaxConsecutiveFillChars("MAXCONSECUTIVEFILLCHARS");
const String IdentBDFEndProperties("ENDPROPERTIES");
const String IdentBDFNumChars("CHARS"); // To be used as sanity check on BDF files
const String IdentBDFCharLabel("STARTCHAR");
const String IdentBDFChar("ENCODING");
const String IdentBDFCursorMove("DWIDTH");
const String IdentBDFBitmapSizeAndDisplacement("BBX");
const String IdentBDFStartBitmap("BITMAP");
const String IdentBDFEndChar("ENDCHAR");
const String IdentBDFEndFontBitmap("ENDFONT");
/**
Typeface identifiers
@internalComponent
*/
const String IdentEndTypeface("EndTypeface");
const String IdentName("Name");
const String IdentTypefaceProportional("Proportional");
const String IdentSerif("Serif");
const String IdentSymbol("Symbol");
const String IdentFontBitmaps("FontBitmaps");
const String IdentWidthFactor("WidthFactor");
const String IdentHeightFactor("HeightFactor");
const String IdentEndFontBitmaps("EndFontBitmaps");
/**
Fontstorefile identifiers
@internalComponent
*/
const String IdentEndFontStoreFile("EndFontStoreFile");
const String IdentFilename("Filename");
const String IdentCollectionUid("CollectionUid");
const String IdentKPixelAspectRatio("KPixelAspectRatio");
const String IdentTypefaces("Typefaces");
const String IdentEndTypefaces("EndTypefaces");
const String IdentExtraFontBitmaps("FontBitmaps");
const String IdentEndExtraFontBitmaps("EndFontBitmaps");
const String IdentCopyrightInfo("CopyrightInfo");
const String IdentEndCopyrightInfo("EndCopyrightInfo");
class CroppedValues;
class FontReader : public Reader
/**
@internalComponent
*/
{
public:
enum TReadFileFormat
{
ESymbianGDFFormat,
EBDFFormat
};
public:
FontReader();
boolean Read(const String& aFilename);
boolean ReadBDFCharacter(int aCode);
boolean ParseMetricsFromBDF(int aNumberCharsInFile, int aMaxConsecutiveFillChars);
boolean ReadMetricFromBDFCharacter(CharacterMetrics* aMetric, CroppedValues* aCropped);
boolean ReadBDFFontBitmap();
boolean ReadTypeface();
boolean ReadFontStoreFile();
int Store(const String& aFilename);
boolean CharLine(String& aCharLine);
private:
boolean ReadBDFChars(const int aNumberOfGlyphsInFile, const int aMaxConsecutiveFillChars);
boolean DoMetricAnalysis(int& aHeight, int& aWidth, int& aLeftAdjust, int& aRightAdjust, int& aAscent);
void ErrorIdentifierExpected(const String& aIdentifier);
boolean CompareBitmapLines(int aLine1, int aLine2);
boolean BitmapLineEmpty(int aLine);
boolean BitmapColumnEmpty(int aColumn);
void WriteFillCharacters(int aNumberConsecutive);
void PrintoutCodeSection(const BitmapCodeSection* aCodeSection) const;
private:
FontStore iFontStore;
FontStoreFile* iFontStoreFile;
CharacterMetrics* iCharacterMetrics;
BitmapCodeSection* iCodeSection;
FontBitmap* iFontBitmap;
FntTypeface* iTypeface;
TReadFileFormat iReadFileFormat;
int iBitArray[KMaxBitmapWidth][KMaxBitmapHeight];
int iBitmapWidth;
int iBitmapHeight;
int iDefaultXMoveInPixels;
int iDefaultYMoveInPixels;
String iFileName;
};
#endif