| /* |
| * 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. |
| */ |
| /** |
| * @author Ilya S. Okomin |
| * @version $Revision$ |
| * |
| */ |
| package org.apache.harmony.awt.gl.font; |
| |
| /** |
| * Extra font metrics: sub/superscripts sizes, offsets, average char width. |
| */ |
| public class FontExtraMetrics { |
| |
| /* !! Subscript/superscript metrics are undefined for Type1. As a possible |
| * solution we can use values for Type1, that are proportionate to TrueType |
| * ones: |
| * SubscriptSizeX == 0.7 * fontSize |
| * SubscriptSizeY == 0.65 * fontSize |
| * SubscriptOffsetX == 0; |
| * SubscriptOffsetY == 0.15 * fontSize; |
| * SuperscriptSizeX == 0.7 * fontSize |
| * SuperscriptSizeY == 0.65 * fontSize |
| * SuperscriptOffsetX == 0; |
| * SuperscriptOffsetY == 0.45 * fontSize |
| * |
| */ |
| |
| /* |
| * The average width of characters in the font. |
| */ |
| private float lAverageCharWidth; |
| |
| /* |
| * Horizontal size for subscripts. |
| */ |
| private float lSubscriptSizeX; |
| |
| /* |
| * Vertical size for subscripts. |
| */ |
| private float lSubscriptSizeY; |
| |
| /* |
| * Horizontal offset for subscripts, the offset from the character origin |
| * to the origin of the subscript character. |
| */ |
| private float lSubscriptOffsetX; |
| |
| /* |
| * Vertical offset for subscripts, the offset from the character origin |
| * to the origin of the subscript character. |
| */ |
| private float lSubscriptOffsetY; |
| |
| /* |
| * Horizontal size for superscripts. |
| */ |
| private float lSuperscriptSizeX; |
| |
| /* |
| * Vertical size for superscripts. |
| */ |
| private float lSuperscriptSizeY; |
| |
| /* |
| * Horizontal offset for superscripts, the offset from the character |
| * base line to the base line of the superscript character. |
| */ |
| private float lSuperscriptOffsetX; |
| |
| /* |
| * Vertical offset for superscripts, the offset from the character |
| * base line to the base line of the superscript character. |
| */ |
| private float lSuperscriptOffsetY; |
| |
| public FontExtraMetrics(){ |
| // default constructor |
| } |
| |
| public FontExtraMetrics(float[] metrics){ |
| lAverageCharWidth = metrics[0]; |
| lSubscriptSizeX = metrics[1]; |
| lSubscriptSizeY = metrics[2]; |
| lSubscriptOffsetX = metrics[3]; |
| lSubscriptOffsetY = metrics[4]; |
| lSuperscriptSizeX = metrics[5]; |
| lSuperscriptSizeY = metrics[6]; |
| lSuperscriptOffsetX = metrics[7]; |
| lSuperscriptOffsetY = metrics[8]; |
| } |
| |
| public float getAverageCharWidth(){ |
| return lAverageCharWidth; |
| } |
| |
| public float getSubscriptSizeX(){ |
| return lSubscriptSizeX; |
| } |
| |
| public float getSubscriptSizeY(){ |
| return lSubscriptSizeY; |
| } |
| |
| public float getSubscriptOffsetX(){ |
| return lSubscriptOffsetX; |
| } |
| |
| public float getSubscriptOffsetY(){ |
| return lSubscriptOffsetY; |
| } |
| |
| public float getSuperscriptSizeX(){ |
| return lSuperscriptSizeX; |
| } |
| |
| public float getSuperscriptSizeY(){ |
| return lSuperscriptSizeY; |
| } |
| |
| public float getSuperscriptOffsetX(){ |
| return lSuperscriptOffsetX; |
| } |
| |
| public float getSuperscriptOffsetY(){ |
| return lSuperscriptOffsetY; |
| } |
| |
| |
| } |