Tehreer-Android v2.1 Release Notes

Release Date: 2018-04-01 // about 6 years ago
  • โž• Additions

    TypeFamily:

    • ๐Ÿ’… Style Matching: getTypefaceByStyle(TypeWidth, TypeWeight, TypeSlope)

    TypefaceManager:

    • Typeface Grouping: getTypeFamily(String familyName)

    TextAlignment:

    • Natural Alignment: INTRINSIC, EXTRINSIC

    GlyphRun:

    • Character Group: int getActualClusterStart(int charIndex), int getActualClusterEnd(int charIndex)
    • Glyph Group: int getLeadingGlyphIndex(int charIndex), int getTrailingGlyphIndex(int charIndex)
    • โœ… Hit Testing: float computeCharDistance(int charIndex), int computeNearestCharIndex(float distance)

    ComposedLine:

    • โœ… Hit Testing: float computeCharDistance(int charIndex), int computeNearestCharIndex(float distance)
    • Highlighting: float[] computeVisualEdges(int charStart, int charEnd)

    CompsedFrame:

    • Boundary Properties: originX, originY, width, height
    • โœ… Hit Testing: int getLineIndexForChar(int charIndex), int getLineIndexForPosition(float x, float y)
    • Highlighting: Path generateSelectionPath(int charStart, int charEnd)

    TLabel:

    • Line Properties: extraLineSpacing, lineHeightMultiplier
    • Text Properties: composedFrame, spanned, typesetter
    • โœ… Hit Testing: int hitTestPosition(float x, float y)

    โž• Added FrameResolver class for easier text layout and measurement.

    โž• Added support for following CharacterStyle spans without invoking updateDrawState(TextPaint) or updateMeasureState(TextPaint):

    • ForegroundColorSpan
    • AbsoluteSizeSpan
    • RelativeSizeSpan
    • ReplacementSpan
    • ScaleXSpan
    • ๐Ÿ’… StyleSpan
    • SubscriptSpan
    • SuperscriptSpan
    • TextAppearanceSpan
    • TypefaceSpan

    โž• Added support for following ParagraphStyle spans:

    • AlignmentSpan
    • BulletSpan
    • LeadingMarginSpan
    • LeadingMarginSpan2
    • LineBackgroundSpan
    • LineHeightSpan
    • QuoteSpan

    โšก๏ธ Updates

    • Divided functionality of Typesetter into various logical classes
    • Made TypefaceSpan and TypeSizeSpan conform to MetricAffectingSpan for easier span handling
    • โšก๏ธ Updated FreeType to version 2.9
    • โšก๏ธ Updated SheenFigure to version 1.3

    ๐Ÿ›  Fixes

    • ๐Ÿ›  Fixed NullPointerException caused by NameTable on older android versions
    • ๐Ÿ›  Fixed gravity attribute of TLabel with flag format
    • Prohibited offsets and advances scaling in Renderer
    • Made accidentally publicized method createCompactLine private in Typesetter