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

Fix Deprecated icons #8379

Merged
merged 2 commits into from
Jun 22, 2023
Merged

Fix Deprecated icons #8379

merged 2 commits into from
Jun 22, 2023

Conversation

Jay-o-Way
Copy link
Contributor

@Jay-o-Way Jay-o-Way commented Apr 10, 2023

Description

old icon appearance new icon
E001 E73E
E10A E894
E052 👁 F78D
E26B chev.R.small E970
E26C chev.L.small E96F
E0E2 chev.L E76B
E0E3 chev.R E76C
E0E4 chev.U 70E
E0E5 chev.D E70D
E11A 🔎 E721
E00B 🖤 EB52
E115 E713

Appended Icon Changes:

old icon appearance new icon
E0B8 N/A No apt replacement
E0E7 E73E
E10C E712
E193 E7E6
E228 E96E

Motivation and Context

They have been deprecated for years now.

Fixes: #8375 and #7350

and many more, like

@microsoft-github-policy-service microsoft-github-policy-service bot added the needs-triage Issue needs to be triaged by the area owners label Apr 10, 2023
@Jay-o-Way
Copy link
Contributor Author

Jay-o-Way commented Apr 10, 2023

@pratikone
Copy link
Contributor

Thanks. I will find someone from design team to review it.

@karkarl
Copy link
Contributor

karkarl commented May 8, 2023

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@karkarl
Copy link
Contributor

karkarl commented May 8, 2023

Hey @Jay-o-Way thanks so much for filing the bug and submitting the fix. I'm currently verifying with the designers to make sure these are apt replacements for the glyphs, as well as trying to identify how this regression happened in the first place...

@Jay-o-Way
Copy link
Contributor Author

Jay-o-Way commented May 8, 2023

Thanks @karkarl . Same idea applies to the SymbolIcon application. Translating Symbol="Settings" to the actual icon code. Do you know where we can find that?

@Jay-o-Way
Copy link
Contributor Author

Jay-o-Way commented May 13, 2023

@karkarl Any progress?

And, after this would be merged, when would the effects be visible? Any eta? First the next version of this source needs to be released, then apps (and don't forget the OS!) should update to use that new version. I imagine that takes quite some time...

@karkarl
Copy link
Contributor

karkarl commented Jun 15, 2023

@karkarl Any progress?

And, after this would be merged, when would the effects be visible? Any eta? First the next version of this source needs to be released, then apps (and don't forget the OS!) should update to use that new version. I imagine that takes quite some time...

After some investigation, here is what is happening with the icons:

Both Segoe MDL2 (Windows 10 icon font) and Segoe Fluent Icons (Windows 11 icon font) use the Unicode private use area (PUA) to encode icons. Some Chinese fonts encode Chinese characters in the PUA range. PUA range goes from Unicode E000-F8FF. Some simplified Chinese apps are reporting these issues. The only font that has Chinese characters in that lower PUA range is a font intended for Hong Kong (Mingliu_HKSCS).

image

To avoid these codepoint collisions, it is recommended to use glyphs higher in range. Hence the note specified here: https://learn.microsoft.com/en-us/windows/apps/design/style/segoe-ui-symbol-font

Glyphs with prefixes ranging from E0- to E5- (e.g. E001, E5B1) are currently marked as legacy and are therefore deprecated.

Note that these glyph ranges are not really "deprecated" in the traditional sense (misleading doc). The icons are still encoded and left intact. Unfortunately, this also means that should fonts start encoding in the higher PUA ranges, more collisions like this can still occur.

It still makes sense for us to update the glyphs, hence here are the next steps from our side:

  • Merge your PR, then figure out servicing schedule for this fix.
  • Port changes into WinUI3 (servicing is approved)
  • Update changes to Symbol enum - this is a breaking change thus requires formal API reviews
  • Investigate the potential regression and prevent future codepoint collisions - why the app fonts are overwriting the icon fonts.

@karkarl
Copy link
Contributor

karkarl commented Jun 19, 2023

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@bpulliam bpulliam removed the needs-triage Issue needs to be triaged by the area owners label Jun 21, 2023
@karkarl
Copy link
Contributor

karkarl commented Jun 21, 2023

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@kmahone
Copy link
Member

kmahone commented Jun 21, 2023

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@kmahone kmahone changed the base branch from main to user/kmahone/fix-deprecated-icons June 22, 2023 16:34
@kmahone kmahone merged commit 4c57749 into microsoft:user/kmahone/fix-deprecated-icons Jun 22, 2023
@kmahone
Copy link
Member

kmahone commented Jun 22, 2023

There is an issue in the validation Pipeline building from forks. So I've merged this into a local user branch and will merge it to main from there.

@kmahone
Copy link
Member

kmahone commented Jun 22, 2023

See #8576

kmahone added a commit that referenced this pull request Jun 22, 2023
* Fix Deprecated icons

* update remaining glyphs

---------

Co-authored-by: Jay <[email protected]>
Co-authored-by: Karen Lai <[email protected]>
@kmahone
Copy link
Member

kmahone commented Jun 22, 2023

This is now merged to main. Thanks @Jay-o-Way for the fix.

@Jay-o-Way
Copy link
Contributor Author

Jay-o-Way commented Jun 22, 2023

Thanks, that's great news! And special thanks to @karkarl for digging in to this. Looks like quite a lot of work went into it. And this is not even the end of the line.

@Jay-o-Way Jay-o-Way deleted the fix-deprecated-icons branch June 25, 2023 22:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Deprecated icons used through-out the code!
5 participants