frozn / TipTac

WoW AddOn TipTac Reborn
GNU General Public License v3.0
119 stars 25 forks source link

Feature request: different font for name/guild/server and others for CJK characters #250

Open deepseer opened 1 year ago

deepseer commented 1 year ago

Is your feature request related to a problem? Please describe. The default fonts in game don't cover all available characters. For example, the default fonts in Taiwanese servers (Traditional Chinese) could not correctly display: 1) Simplified Chinese characters 2) some "character-like punctuation marks" 3) Latin letters with diacritical marks (e.g. [à]) 4) Nordic characters (e.g. [Æ]). If such character appears, all characters in the block will be changed to "fall-back fonts", which is Kaiti in simplified operation system, and none in traditional operation system (displays empty blocks). Setting a CJK font (e.g. Google Noto CJK Sans) in Options/Font can display these characters, but all fonts in the tips are also changed.

See pictures below: (Correct 1 & 2: all characters in player name are Traditional Chinese or basic Latin letters) 屏幕截图 2023-07-30 115402 屏幕截图 2023-07-30 113322

(Incorrect 3: player name and guild name in Simplified Chinese) 屏幕截图 2023-07-30 113101 (Incorrect 4: player name in Traditional Chinese, but guild name in Simplified Chinese) 屏幕截图 2023-07-30 113135 (Incorrect 5: player name is "Æsir") 屏幕截图 2023-07-30 115315

(After changing the font of picture 4. New font: Noto CJK Sans, through LibSharedMedia) 屏幕截图 2023-07-30 113645 屏幕截图 2023-07-30 113748

Describe the solution you'd like Since these "irregular characters" can only appear in: 1) character names 2) guild names and ranks 3) target names (if it targets another player), a solutions is to allow seperate fonts be used in these fields. Add a new option in Options/Font: "Only modify name-related fonts".

Describe alternatives you've considered Haven't come up with another idea yet.

Additional context Noto CJK fonts https://en.wikipedia.org/wiki/Noto_fonts

frozn commented 1 year ago

TipTac currently overrides the default font objects of the GameTooltip (e.g. GameTooltipText, GameTooltipHeaderText) with the new font settings. There's currently no function available to determine, if a line in the GameTooltip contains player/guild names.

The only idea I have is to add an option to set an alternative font for the first lines with player/guild names of a unit tooltip (after modifying player/guild names). But this will not cover e.g. other addons showing additional infos which includes also player names.

But I think the only "right/real" solution is to use a font which covers all characters to be displayed.

deepseer commented 1 year ago

The only idea I have is to add an option to set an alternative font for the first lines with player/guild names of a unit tooltip (after modifying player/guild names).

It would be good enough. (Maybe also add the last line for player target?) I'm not using other tip addons. If there is any error due to other tip addons, I'll try to solve the problem within other addons.

Describe the solution you'd like: Add a new option in Options/Font: "Only modify the font of name-related lines". Line 1: player name Line 2: guild name and rank (if it exists) Last line: player target (if it exists)

It's impossible to find universal fonts (Pan-CJK font) for all font families which are used in game. I've tried that before.

There are several Chinese font families: https://en.wikipedia.org/wiki/List_of_CJK_fonts [Regular] Kaiti (fallback font in #3) - No good alternative / not needed here [Clerical] Lishu (default font of line 1) - FangzhengLibian TC [Serif] Songti (not used here) - Noto CJK Serif TC [Sans] Heiti - Noto CJK Sans TC [Rounded] Yuanti (default font of line 2 to the last line) - No alternative