Tehreer-Android v2.4 Release Notes

Release Date: 2019-03-19 // about 5 years ago
  • ➕ Additions

    • ➕ Added support for variable fonts
    • Covered variable fonts in demo project
    • Wrote likable label in demo project

    FontFile:

    • Named Typefaces: List<Typeface> getTypefaces()

    Typeface:

    • Variation Axes: List<VariationAxis> getVariationAxes()
    • Variation Coordinates: float[] getVariationCoordinates()
    • Variation Instance: Typeface getVariationInstance(float[] coordinates)

    ShapingResult:

    • Caret Edges: FloatList getCaretEdges(boolean[] caretStops)

    ⚡️ Updates

    • ➕ Added static constructors in table classes
    • 👉 Used sheen figure for caret handling
    • ⚡️ Updated free type to version 2.10.0

Previous changes from v2.3

  • ➕ Additions

    ➕ Added @Nullable, @NonNull, @Size and @ColorInt annotations throughout the project

    ShapingEngine:

    • OpenType Features: setOpenTypeFeatures(Set<OpenTypeFeature> features), Set<OpenTypeFeature> getOpenTypeFeatures()

    Typeface:

    • Strikeout Properties: int getStrikeoutPosition(), int getStrikeoutThickness()

    @IntDef Annotations:

    • BidiClass: @Value
    • GeneralCategory: @Value
    • Script: @Value

    ⚡️ Updates

    • Implemented character measurement based on caret range distance
    • Wrote Precondition class and used it for checking parameter expectations
    • ✂ Removed custom @Sustain annotation in favour of androidx @Keep annotation
    • Replaced array with variable args for creating primitive lists
    • ⚡️ Updated SheenFigure to version 1.5

    🛠 Fixes

    • 🛠 Fixed an issue related to text becoming blank in TLabel widge
    • 🛠 Fixed backward mode glyph run rendering issues
    • 🛠 Fixed backward mode cluster clipping issues
    • 🛠 Fixed equals(Object) implementation of NameTable.Record