-
Notifications
You must be signed in to change notification settings - Fork 1.3k
[core] Implement text-writing-mode layout property for symbol layer #14932
Conversation
451b773
to
59983ee
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for tackling this. We discussed that changing the return type of textVariableAnchor
will require a semver, and for that reason this change will be reverted.
When we add a new enum we also have to provide a round trip conversion to NSValue
. See my comment for more info.
6ce364b
to
920aeea
Compare
...roid/MapboxGLAndroidSDK/src/main/java/com/mapbox/mapboxsdk/style/layers/PropertyFactory.java
Show resolved
Hide resolved
388a80c
to
bb1bdad
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍 on the android changes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Most of the feedback below is about wordsmithing tweaks, probably in the code generation scripts.
In addition to the feedback below, consider adding rendering tests for the following cases:
- Vertical CJK containing RTL Arabic text (example)
- CJK punctuation inside vertical point-placed labels (both left-binding punctuation like periods and right-binding punctuation like opening brackets)
- Multiline vertical CJK containing LTR Latin text
6def5b6
to
f8d89ef
Compare
@vakila As per yesterday's discussion ^^^ great input from @1ec5 about what kind of tests we might need to add. |
ab12a7d
to
f915337
Compare
b275cb6
to
19a49a5
Compare
@julianrex @fabian-guerra I'm planning to land this PR early next week, please provide your comments, if you have any. |
19a49a5
to
6bedb2a
Compare
… version of an enum
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).
82a9811
to
955978a
Compare
The gl-js port of this PR has already landed, therefore, I'm landing this PR. Issues related to combination of |
Brief description
For languages that support vertical writing mode, map designers might want point labels to be rendered vertically. This PR adds implementation for
text-writing-mode
layout property that controls preferred writing mode. New property value is an array, whose values are enumeration values from a( horizontal | vertical )
set.The new property do not enforce orientation of a rendered label and acts merely as a hint, so that:
"text-writing-mode" : ["vertical"]
is specified"text-writing-mode" : ["horizontal"]
would not affect vertical rendering of a label.To be done
Upstream GL-JS branch (alexshalamov_wip_vertical_labels) and pin gl-native upstream gl-gsImplement support forvertical-latin-upright
writing modeImplement support forvertical-latin-sideways
writing modeFuture work
text-variable-anchor
andtext-writing-mode
array properties, so that layers can be efficiently grouped by layout id.