Package org.apache.fontbox.ttf.gsub
Class GsubWorkerForBengali
- java.lang.Object
-
- org.apache.fontbox.ttf.gsub.GsubWorkerForBengali
-
- All Implemented Interfaces:
GsubWorker
public class GsubWorkerForBengali extends java.lang.Object implements GsubWorker
Bengali-specific implementation of GSUB system
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classGsubWorkerForBengali.BeforeAndAfterSpanComponentModels characters like O-kar (ো) and OU-kar (ৌ).
-
Field Summary
Fields Modifier and Type Field Description private static GsubWorkerForBengali.BeforeAndAfterSpanComponent[]BEFORE_AND_AFTER_SPAN_CHARSprivate static char[]BEFORE_HALF_CHARSprivate java.util.Map<java.lang.Integer,GsubWorkerForBengali.BeforeAndAfterSpanComponent>beforeAndAfterSpanGlyphIdsprivate java.util.List<java.lang.Integer>beforeHalfGlyphIdsprivate CmapLookupcmapLookupprivate static java.util.List<java.lang.String>FEATURES_IN_ORDERThis sequence is very important.private GsubDatagsubDataprivate static java.lang.StringINIT_FEATUREprivate static org.apache.commons.logging.LogLOG
-
Constructor Summary
Constructors Constructor Description GsubWorkerForBengali(CmapLookup cmapLookup, GsubData gsubData)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private java.util.List<java.lang.Integer>applyGsubFeature(ScriptFeature scriptFeature, java.util.List<java.lang.Integer> originalGlyphs)java.util.List<java.lang.Integer>applyTransforms(java.util.List<java.lang.Integer> originalGlyphIds)Applies language-specific transforms including GSUB and any other pre or post-processing necessary for displaying Glyphs correctly.private java.util.Map<java.lang.Integer,GsubWorkerForBengali.BeforeAndAfterSpanComponent>getBeforeAndAfterSpanGlyphIds()private java.util.List<java.lang.Integer>getBeforeHalfGlyphIds()private java.lang.IntegergetGlyphId(char character)private java.util.List<java.lang.Integer>repositionBeforeAndAfterSpanGlyphIds(java.util.List<java.lang.Integer> originalGlyphIds)private java.util.List<java.lang.Integer>repositionBeforeHalfGlyphIds(java.util.List<java.lang.Integer> originalGlyphIds)private java.util.List<java.lang.Integer>repositionGlyphs(java.util.List<java.lang.Integer> originalGlyphIds)
-
-
-
Field Detail
-
LOG
private static final org.apache.commons.logging.Log LOG
-
INIT_FEATURE
private static final java.lang.String INIT_FEATURE
- See Also:
- Constant Field Values
-
FEATURES_IN_ORDER
private static final java.util.List<java.lang.String> FEATURES_IN_ORDER
This sequence is very important. This has been taken from https://docs.microsoft.com/en-us/typography/script-development/bengali
-
BEFORE_HALF_CHARS
private static final char[] BEFORE_HALF_CHARS
-
BEFORE_AND_AFTER_SPAN_CHARS
private static final GsubWorkerForBengali.BeforeAndAfterSpanComponent[] BEFORE_AND_AFTER_SPAN_CHARS
-
cmapLookup
private final CmapLookup cmapLookup
-
gsubData
private final GsubData gsubData
-
beforeHalfGlyphIds
private final java.util.List<java.lang.Integer> beforeHalfGlyphIds
-
beforeAndAfterSpanGlyphIds
private final java.util.Map<java.lang.Integer,GsubWorkerForBengali.BeforeAndAfterSpanComponent> beforeAndAfterSpanGlyphIds
-
-
Constructor Detail
-
GsubWorkerForBengali
GsubWorkerForBengali(CmapLookup cmapLookup, GsubData gsubData)
-
-
Method Detail
-
applyTransforms
public java.util.List<java.lang.Integer> applyTransforms(java.util.List<java.lang.Integer> originalGlyphIds)
Description copied from interface:GsubWorkerApplies language-specific transforms including GSUB and any other pre or post-processing necessary for displaying Glyphs correctly.- Specified by:
applyTransformsin interfaceGsubWorker- Parameters:
originalGlyphIds- list of original glyph IDs- Returns:
- list of transformed glyph IDs
-
repositionGlyphs
private java.util.List<java.lang.Integer> repositionGlyphs(java.util.List<java.lang.Integer> originalGlyphIds)
-
repositionBeforeHalfGlyphIds
private java.util.List<java.lang.Integer> repositionBeforeHalfGlyphIds(java.util.List<java.lang.Integer> originalGlyphIds)
-
repositionBeforeAndAfterSpanGlyphIds
private java.util.List<java.lang.Integer> repositionBeforeAndAfterSpanGlyphIds(java.util.List<java.lang.Integer> originalGlyphIds)
-
applyGsubFeature
private java.util.List<java.lang.Integer> applyGsubFeature(ScriptFeature scriptFeature, java.util.List<java.lang.Integer> originalGlyphs)
-
getBeforeHalfGlyphIds
private java.util.List<java.lang.Integer> getBeforeHalfGlyphIds()
-
getGlyphId
private java.lang.Integer getGlyphId(char character)
-
getBeforeAndAfterSpanGlyphIds
private java.util.Map<java.lang.Integer,GsubWorkerForBengali.BeforeAndAfterSpanComponent> getBeforeAndAfterSpanGlyphIds()
-
-