/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
/*
* (C) Copyright IBM Corp. 1998-2001 - All Rights Reserved
*
* The original version of this source code and documentation is
* copyrighted and owned by IBM. These materials are provided
* under terms of a License Agreement between IBM and Sun.
* This technology is protected by multiple US and International
* patents. This notice and attribution to IBM may not be removed.
*/
#include "FontInstanceAdapter.h"
float *matrix,
{
};
{
}
};
{
length = 0;
if (!layoutTables) { // t1 font
return 0;
}
// cache in font's pscaler object
// font disposer will handle for us
int cacheIdx;
}
}
} else {
//fprintf(stderr, "unexpected table request from font instance adapter: %x\n", tableTag);
// (don't load any other tables)
return 0;
}
if (!IS_NULL(tableBytes)) {
}
}
return (const void*)result;
};
{
return 0xFFFF;
}
return 1;
}
LEGlyphID id = (LEGlyphID)env->CallIntMethod(font2D, sunFontIDs.f2dCharToGlyphMID, (jint)mappedChar);
return id;
}
{
return id;
}
{
if (reverse) {
dir = -1;
}
}
}
if (code >= 0x10000) {
i += 1;
}
}
}
{
if (mappedChar == 0xFFFF) {
return 0xFFFF;
}
return 1;
}
}
{
}
{
if (!isIdentityMatrix) {
}
}
{
return;
}
}
}
{
/* This upcall is not ideal, since it will make another down call.
* The intention is to move up some of this code into Java. But
* a HashMap has been added to the Java PhysicalStrike object to cache
* these points so that they don't need to be repeatedly recalculated
* which is expensive as it needs the font scaler to re-generate the
* hinted glyph outline. This turns out to be a huge win over 1.4.x
*/
glyph, pointNumber);
/* point is a java.awt.geom.Point2D.Float */
/* convert from java coordinate system to internal '+y up' coordinate system */
return true;
} else {
return false;
}
}
{
xy = 0;
if (!isIdentityMatrix) {
};
yx = 0;
if (!isIdentityMatrix) {
};
}
{
if (a < 0) {
a = -a;
}
if (b < 0) {
b = -b;
}
if (a == 0) {
return b;
}
if (b == 0) {
return a;
}
/* An unrolled Newton-Raphson iteration sequence */
return root;
}