Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable vertical point label placement via 'text-writing-mode' style property #8399

Merged
merged 24 commits into from
Aug 7, 2019

Commits on Jul 29, 2019

  1. Add text-writing-mode layout property

    alexshalamov authored and Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    17d5b2c View commit details
    Browse the repository at this point in the history
  2. Add render tests for text-writing-mode layout property

    alexshalamov authored and Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    b757541 View commit details
    Browse the repository at this point in the history
  3. Skip render tests for text-writing-mode property

    alexshalamov authored and Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    49b5e22 View commit details
    Browse the repository at this point in the history
  4. Revert "Skip render tests for text-writing-mode property"

    This reverts commit 069c6f0.
    Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    f42fdc0 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    301b237 View commit details
    Browse the repository at this point in the history
  6. Add attributes to SymbolInstance & PlacedSymbol structs for vertical …

    …placement
    
    - Add placedOrientation attribute to PlacedSymbol
    - Add verticalTextBox attributes to SymbolInstance alongside textBox & iconBox
    Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    5543064 View commit details
    Browse the repository at this point in the history
  7. Rotate glyphs for vertical point labels if needed & correct for y-offset

    Port changes from gl-native@alexshalamov_wip_vertical_labels
    (shaping.cpp, quads.cpp glyphs.hpp)
    Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    ee80a96 View commit details
    Browse the repository at this point in the history
  8. Track writing modes and enable vertical placement in SymbolBucket

    - Add writingModes and allowVerticalPlacement properties to SymbolBucket
    - Compute writingModes from `text-writing-mode` style property
    - Determine glyph dependencies based on whether vertical placement is allowed
    - Rotate symbols as needed
    Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    75afcf6 View commit details
    Browse the repository at this point in the history
  9. Track vertical collision boxes in SymbolBucket, if needed

    Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    1943700 View commit details
    Browse the repository at this point in the history
  10. Add vertical text shaping during symbol layout, if needed

    Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    82d1add View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    9efe670 View commit details
    Browse the repository at this point in the history
  12. Hide unused orientation glyphs when drawing symbols

    - Add updateVerticalLabels to hide glyphs for unused orientations
    - Modify updateVariableAnchors to hide unused orientation glyphs
      when using vertical labels and variable anchors
    Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    40728c9 View commit details
    Browse the repository at this point in the history
  13. Place correct orientation variant per chosen writing modes

    - Attempt to place vertical/horizontal boxes for each symbol
      according to writing mode order of preference
    - Integrate with variable-anchor placement to try each
      anchor/orientation combination possible
    - Prefer previously placed orientations & anchors
    - Hide unplaced orientations
    Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    a3a8883 View commit details
    Browse the repository at this point in the history
  14. Fix symbol unit tests

    Add yOffset property to shaping objects
    Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    ec6be6a View commit details
    Browse the repository at this point in the history
  15. Configuration menu
    Copy the full SHA
    4a7bbdd View commit details
    Browse the repository at this point in the history
  16. Add more render tests for vertical CJK point labels

    Add tests for vertical placement of point labels with:
    - CJK text with punctuation
    - multiline mixed CJK/latin text
    - CJK with embedded Arabic RTL text
    Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    993bcf8 View commit details
    Browse the repository at this point in the history
  17. Tiny clean up

    Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    ff3dda3 View commit details
    Browse the repository at this point in the history
  18. Minor fixes per reviewer comments

    Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    0e3a85a View commit details
    Browse the repository at this point in the history
  19. Revert "Update yarn.lock" per reviewer comment

    This reverts commit 3ff7480.
    Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    a9ff21f View commit details
    Browse the repository at this point in the history
  20. Configuration menu
    Copy the full SHA
    ab22573 View commit details
    Browse the repository at this point in the history
  21. Add type annotations for variable anchor box placement

    Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    51ba9bb View commit details
    Browse the repository at this point in the history
  22. Use .indexOf instead of .includes for IE compat; lint fix

    Anjana Vakil committed Jul 29, 2019
    Configuration menu
    Copy the full SHA
    20b8146 View commit details
    Browse the repository at this point in the history

Commits on Aug 1, 2019

  1. Render half-width glyphs in upright orientation

    This change forces glyphs whose natural orientation in vertical writing
    mode is 'sideways' to be rendered in upright orientation (only for non complex
    text layouts). This is different compared to W3C / browser behavior that is by
    default, renders glyphs in their respective natural orientation.
    
    In the future, there  might need to add a new layout property that would control
    glyph orientation separately (e.g., text-glyph-orientation: natural | upright).
    alexshalamov committed Aug 1, 2019
    Configuration menu
    Copy the full SHA
    96c7f22 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    d1f6cb4 View commit details
    Browse the repository at this point in the history