Class GsubWorkerForDflt

java.lang.Object
org.apache.fontbox.ttf.gsub.GsubWorkerForDflt
All Implemented Interfaces:
GsubWorker

public class GsubWorkerForDflt extends Object implements GsubWorker
DFLT (Default) script-specific implementation of GSUB system.

According to the OpenType specification, a Script table with the script tag 'DFLT' (default) is used in fonts to define features that are not script-specific. Applications should use the DFLT script table when no script table exists for the specific script of the text being processed, or when text lacks a defined script (containing only symbols or punctuation).

This implementation applies common, script-neutral typographic features that work across writing systems. The feature order follows standard OpenType recommendations for universal glyph substitutions.

Reference: OpenType ScriptList Table Specification

  • Field Details

    • LOG

      private static final org.apache.commons.logging.Log LOG
    • FEATURES_IN_ORDER

      private static final List<String> FEATURES_IN_ORDER
      Script-neutral features in recommended processing order.
      • ccmp - Glyph Composition/Decomposition (must be first)
      • liga - Standard Ligatures
      • clig - Contextual Ligatures
      • calt - Contextual Alternates
      Note: This feature list focuses on common GSUB (substitution) features. GPOS features like 'kern', 'mark', 'mkmk' are handled separately.
    • gsubData

      private final GsubData gsubData
  • Constructor Details

    • GsubWorkerForDflt

      GsubWorkerForDflt(GsubData gsubData)
  • Method Details

    • applyTransforms

      public List<Integer> applyTransforms(List<Integer> originalGlyphIds)
      Description copied from interface: GsubWorker
      Applies language-specific transforms including GSUB and any other pre or post-processing necessary for displaying Glyphs correctly.
      Specified by:
      applyTransforms in interface GsubWorker
      Parameters:
      originalGlyphIds - list of original glyph IDs
      Returns:
      list of transformed glyph IDs
    • applyGsubFeature

      private List<Integer> applyGsubFeature(ScriptFeature scriptFeature, List<Integer> originalGlyphs)