summaryrefslogtreecommitdiff
path: root/gnu/java/awt/font/autofit/Script.java
Commit message (Collapse)AuthorAgeFilesLines
* 2006-12-14 Roman Kennke <kennke@aicas.com>Roman Kennke2006-12-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/java/awt/font/autofit/HintScaler.java Renamed Scaler to HintScaler to avoid name-clash. * gnu/java/awt/font/autofit/AutoHinter.java (scaler): New field. (applyHints): Scale the metrics before applying the hints. (init): Copy font into scaler. * gnu/java/awt/font/autofit/Edge.java (blueEdge): New field. (toString): Include first and last fields in debug output. * gnu/java/awt/font/autofit/GlyphHints.java (reload): Grab the scales here. * gnu/java/awt/font/autofit/Latin.java (computeBlueEdges): Implemented blue-edge detection. (computeEdges): Correctly calculate edgeDistanceThreshold and the scaled edge position. (initWidths): Renamed Scaler to HintScaler. Sort widths and store widthCount. (scaleMetrics): Add HintScaler parameter. Implemented to scale the metrics. (scaleMetricsDim): New helper method. * gnu/java/awt/font/autofit/LatinAxis.java (orgDelta): New field. (orgScale): New field. * gnu/java/awt/font/autofit/LatinBlue.java: Reordered flags. (FLAG_BLUE_ACTIVE): New flag. * gnu/java/awt/font/autofit/Scaler.java: Renamed to HintScaler. * gnu/java/awt/font/autofit/Script.java (scaleMetrics): Add HintScaler argument. * gnu/java/awt/font/autofit/ScriptMetrics.java Renamed Scaler to HintScaler. * gnu/java/awt/font/autofit/Utils.java (sort(int,Width[])): New helper method. Sorts Width arrays. (mulDiv): New helper method. (pixFloor): New helper method. (pixRound): New helper method. * gnu/java/awt/font/autofit/Width.java (toString): New method. For debug output. * gnu/java/awt/font/opentype/truetype/Fixed.java (mul16): New method. Multiplies with 16.16 fixed point arithmetics. (div16): New method. Divides with 16.16 fixed point arithmetics. (valueOf16): New method. Converts double to 16.16 fixed point. * gnu/java/awt/font/opentype/truetype/Zone.java (scaleX): New field. (scaleY): New field. (shearX): New field. (shearY): New field. (transform): Store translation and shearing in fields instead of local vars.
* 2006-12-14 Roman Kennke <kennke@aicas.com>Roman Kennke2006-12-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/java/awt/font/autofit/AutoHinter.java (hints): New field. (applyHints): New method. Implements the actual hinting. * gnu/java/awt/font/autofit/AxisHints.java (edges): New field. (AxisHints): Initialize edges field. (newEdge): New method. Records a new edge and sorts it into the existing list. * gnu/java/awt/font/autofit/Edge.java: New class. * gnu/java/awt/font/autofit/GlyphHints.java (GlyphHints): Initialize the scales with 1. (doHorizontal): New method. (doVertical): New method. * gnu/java/awt/font/autofit/Latin.java (alignEdgePoints): New stub method. (alignStrongPoints): New stub method. (alignWeakPoints): New stub method. (applyHints): Take outline as argument. Implemented skeleton. (computeBlueEdges): New stub method. (computeEdges): New method. Detects edges on a glyph outline. (detectFeatures): New methods. Performs local feature analysis. (hintEdges): New stub method. (initBlues): Remove debug output. * gnu/java/awt/font/autofit/LatinAxis.java (edgeDistanceThreshold): Changed to be an int (as fixed-point decimal). * gnu/java/awt/font/autofit/Script.java (applyHints): Include the outline in the method call. * gnu/java/awt/font/autofit/Segment.java (FLAG_EDGE_NORMAL): Set value to 0. (FLAG_EDGE_SERIF): New constant. (FLAG_EDGE_DONE): New constant. (edge): New field. (edgeNext): New field. * gnu/java/awt/font/opentype/Hinter.java (applyHints): New method. Applies the hints to the specified outline. * gnu/java/awt/font/opentype/OpenTypeFont.java (getGlyphOutline): Check the hinter and call the scaler with the hinter. * gnu/java/awt/font/opentype/Scaler.java (getOutline): Also pass a Hinter. * gnu/java/awt/font/opentype/truetype/GlyphLoader.java (loadCompoundGlyph): Also accept a hinter argument. (loadGlyph): Also accept a hinter argument. (loadSimpleGlyph): Also accept a hinter argument. Hint the resulting outline. (loadSubGlyph): Also accept a hinter argument. * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java (getOutline): Accept hinter and pass it to the loader. (getRawOutline): Pass null hinter to the loader.
* 2006-11-14 Roman Kennke <kennke@aicas.com>Roman Kennke2006-11-141-0/+62
* gnu/java/awt/font/autofit/AxisHints.java, * gnu/java/awt/font/autofit/Constants.java, * gnu/java/awt/font/autofit/GlyphHints.java, * nu/java/awt/font/autofit/Latin.java, * nu/java/awt/font/autofit/LatinAxis.java, * gnu/java/awt/font/autofit/LatinMetrics.java, * gnu/java/awt/font/autofit/Scaler.java, * gnu/java/awt/font/autofit/Script.java, * gnu/java/awt/font/autofit/ScriptMetrics.java, * gnu/java/awt/font/autofit/Segment.java, * gnu/java/awt/font/autofit/Width.java: New classes. This is some skeleton stuff for the FreeType-alike auto-gridfitter. * gnu/java/awt/font/opentype/CharGlyphMap.java: Made class public. * gnu/java/awt/font/opentype/OpenTypeFont.java (unitsPerEm): Made field public. (getRawGlyphOutline): New method. Fetches the raw outline. * gnu/java/awt/font/opentype/Scaler.java (getRawGlyphOutline): New method. Fetches the raw outline. * gnu/java/awt/font/opentype/truetype/GlyphLoader.java (loadGlyph): New method. This is used to load raw outlines. * gnu/java/awt/font/opentype/truetype/TrueTypeScaler.java (getRawOutline): New method. Fetches the raw outline. * gnu/java/awt/font/opentype/truetype/Zone.java: Made class public.