mapbox / mapbox/mapbox-gl-js

[Suggestion] Toggle Options 'charHasUprightVerticalOrientation'

Open
#9,625 2 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

needs discussion :speech_balloon:
Dominant language
TypeScript
Stars
12.4k
Forks
2.4k
PR merge metrics
No merged PRs in 30d

Description

## Motivation
Korean language is much better visibility in "symbol placement: 'line'" case below.
I think Korean does not need to rotate char some case.
Is it possible to make toggle option?

Screenshot from South Korea's major map. (Kakao map)

스크린샷 2020-04-24 오후 5 17 04

[http://kko.to/wo6oWUy0p](http://kko.to/wo6oWUy0p)

## Design Alternatives

Toggle options from instance init. "charHasUprightVerticalOrientation"
```
new mapboxgl.Map({
// boolean
charHasUprightVerticalOrientation: false
});
```

## Code Points
https://github.com/mapbox/mapbox-gl-js/blob/master/src/symbol/shaping.js#L607
https://github.com/mapbox/mapbox-gl-js/blob/master/src/util/script_detection.js#L119

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/symbol/shaping.js around line 607 and src/util/script_detection.js around line 119 to trace how upright vertical orientation is determined. Then inspect the Map instance initialization options and existing symbol-placement tests; done means the proposed charHasUprightVerticalOrientation toggle controls Korean character rotation for line placement without changing the default behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
frontend, web-dev
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.