Class BanglaGlyphRepositioner

java.lang.Object
com.itextpdf.text.pdf.languages.IndicGlyphRepositioner
com.itextpdf.text.pdf.languages.BanglaGlyphRepositioner
All Implemented Interfaces:
GlyphRepositioner

public class BanglaGlyphRepositioner extends IndicGlyphRepositioner
  • Field Details

    • CHARCTERS_TO_BE_SHIFTED_LEFT_BY_1

      private static final String[] CHARCTERS_TO_BE_SHIFTED_LEFT_BY_1
    • cmap31

      private final Map<Integer,int[]> cmap31
    • glyphSubstitutionMap

      private final Map<String,Glyph> glyphSubstitutionMap
  • Constructor Details

    • BanglaGlyphRepositioner

      public BanglaGlyphRepositioner(Map<Integer,int[]> cmap31, Map<String,Glyph> glyphSubstitutionMap)
  • Method Details

    • repositionGlyphs

      public void repositionGlyphs(List<Glyph> glyphList)
      Specified by:
      repositionGlyphs in interface GlyphRepositioner
      Overrides:
      repositionGlyphs in class IndicGlyphRepositioner
    • getCharactersToBeShiftedLeftByOnePosition

      public List<String> getCharactersToBeShiftedLeftByOnePosition()
      Specified by:
      getCharactersToBeShiftedLeftByOnePosition in class IndicGlyphRepositioner
    • handleOKaarAndOUKaar

      private void handleOKaarAndOUKaar(int currentIndex, List<Glyph> glyphList, char first, char second)
      This is a dirty hack to display O-Kar (ো) and Ou-Kar (ৌ). Since this spans before and after a Byanjan Borno like Ka (ক), the O-kar is split into two characters: the E-Kar (ে) and the A-Kar (া). Similar the Ou-Kar is split into two characters: the E-Kar (ে) and the char (ৗ).
    • getGlyph

      private Glyph getGlyph(char c)