Package org.fonteditor.font.transforms

Source Code of org.fonteditor.font.transforms.Slanter

package org.fonteditor.font.transforms;

import org.fonteditor.elements.points.FEPoint;
import org.fonteditor.elements.points.FEPointList;
import org.fonteditor.font.FEGlyph;
import org.fonteditor.options.display.DisplayOptions;

/**
* Responsible for making outlines appear italicised.
*/

public class Slanter {
  public static void slant(FEGlyph glyph, DisplayOptions gdo) {
    int slant_factor = gdo.getSlant();
    if (slant_factor != 0) {
      FEPointList point_list = glyph.getFEPointList(gdo);
      FEPoint point;
     
      int len = point_list.getNumber();
      if (slant_factor > 0) {
        for (int index = len; --index >= 0;) {
          point = point_list.getPoint(index);
          point.setX(point.getX() + ((slant_factor * (0x10000 - point.getY())) >> 8));
        }
      } else if (slant_factor < 0) {
        for (int index = len; --index >= 0;) {
          point = point_list.getPoint(index);
          point.setX(point.getX() - ((slant_factor * point.getY()) >> 8));
        }
      }
    }
  }
}
TOP

Related Classes of org.fonteditor.font.transforms.Slanter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.