Materialdesign: Unicode in range U+FDD0 to U+FDEF are actually non-characters

Created on 17 Mar 2019  路  17Comments  路  Source: Templarian/MaterialDesign

I am trying to incorporate the Material Design Icon font in a mobile app.
Therefore, I created a source file that maps the names (like mdi_palette_outline) to the Unicode character (in this case \u{FDE8}).
However, my compilers give a "Invalid unicode scalar" error.

Apparently, the range of unicode characters for U+FDD0 .. U+FDEF is reserved for a block of 32 non-characters "to make additional codes available to programmers to use for internal processing purposes"

This means that I have to comment out 24 characters that lie in that range.

Would it be possible to not use that range of unicode characters?

URL:
https://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=IWS-Chapter04a#4d3110c8

Text:
Unassigned codepoints can be reserved in a similar manner at any time if there is a reason for doing so. This was recently done in TUS 3.1, reserving 32 codepoints from U+FDD0..U+FDEF as non-characters. This was done specifically in order to make additional codes available to programmers to use for internal processing purposes. Again, these should never appear in data.

Breaking Change Bug Question

Most helpful comment

Given that this is a fairly significant breaking change, I think it's best to hold off on it until v4.0.x

Even though we don't use semantic versioning, people generally tend to be more forgiving of such breaking changes with a major version change.

All 17 comments

  • [x] FDD0 -> FE54 - screw-lag
  • [x] FDD1 -> FE55 - 64977 - screw-machine-flat-top
  • [x] FDD2 -> FE56 - 64978 - screw-machine-round-top
  • [x] FDD3 -> FE57 - 64979 - screw-round-top
  • [x] FDD4 -> FE58 - 64980 - send-circle
  • [x] FDD5 -> FE59 - 64981 - send-circle-outline
  • [x] FDD6 -> FE5A - 64982 - shoe-print
  • [x] FDD7 -> FE5B - 64983 - signature
  • [x] FDD8 -> FE5C - 64984 - signature-freehand
  • [x] FDD9 -> FE5D - 64985 - signature-image
  • [x] FDDA -> FE5E - 64986 -signature-text
  • [x] FDDB -> FE5F - 64987 -slope-downhill
  • [x] FDDC -> FE60 - 64988 -slope-uphill
  • [x] FDDD -> FE61 - 64989 - thermometer-alert
  • [x] FDDE -> FE62 - 64990 - thermometer-chevron-down
  • [x] FDDF -> FE63 - 64991 - thermometer-chevron-up
  • [x] FDE0 -> FE64 - 64992 - thermometer-minus
  • [x] FDE1 -> FE65 - 64993 - thermometer-plus
  • [x] FDE2 -> FE66 - 64994 - translate-off
  • [x] FDE3 -> FE67 - 64995 - upload-outline
  • [x] FDE4 -> FE68 - 64996 - volume-variant-off
  • [x] FDE5 -> FE69 - 64997 - wallpaper
  • [x] FDE6 -> FE6A - 64998 - water-outline
  • [x] FDE7 -> FE6B - 64999 - wifi-star
  • [x] FDE8 -> FE6C - 65000 - palette-outline
  • [ ] FDE9 - No Added
  • [ ] FDEA - No Added
  • [ ] FDEB - No Added
  • [ ] FDEC - No Added
  • [ ] FDED - No Added
  • [ ] FDEE - No Added
  • [ ] FDEF - No Added

The question is: Can these characters be moved to another unicode uuuh code, so that I can use these? The url I gave specifies that these codes are reserved.

Yep, forgot to add the bug label. This requires DB edits since I don't have an interface for editing previous releases codepoints (as their never suppose to change).

We'll have to address it in the next release for 3.6.xx. Until then you'll have to find a workaround unfortunately.

Given that this is a fairly significant breaking change, I think it's best to hold off on it until v4.0.x

Even though we don't use semantic versioning, people generally tend to be more forgiving of such breaking changes with a major version change.

The workaround for me seems to be 'do not use the 20 something icons'. I think I can live with that for a while, because this set has many more icons than my previous set (google material icons).

One way to avoid the breaking change may be to duplicate the offending icons ... and remove the originals in the 4.0.0 release.

Update... Chrome has an issue rendering fe00...fe2F also.

I just ran into this while working on the next release.

https://en.wikipedia.org/wiki/Variation_Selectors_(Unicode_block)

https://en.wikibooks.org/wiki/Unicode/Character_reference/F000-FFFF

This chart makes it a lot easier to see what characters not to use.

Okay updated the ones above for 3.6.95, but need to fix some other codepoints still before releasing.

Fixing the codepoints below also. These all have fixed spacing that ignores the character box.

  • [x] fe00 -> FE6D
  • [x] fe01 -> FE6E
  • [x] fe02 -> FE70
  • [x] fe03 -> FE71
  • [x] fe04 -> FE72
  • [x] fe05 -> FE73
  • [x] fe06 -> FE74
  • [x] fe07 -> FE75
  • [x] fe08 -> FE76
  • [x] fe09 -> FE77
  • [x] fe0A -> FE78
  • [x] fe0B -> FE79
  • [x] fe0C -> FE7A
  • [x] fe0D -> FE7B
  • [x] fe0E -> FE7C
  • [x] fe0F -> FE7D
  • [x] FE20 -> FE7E
  • [x] FE21 -> FE7F
  • [x] FE22 -> FE80
  • [x] FE23 -> FE81
  • [x] FE24 -> FE82
  • [x] FE25 -> FE83
  • [x] FE26 -> FE84
  • [x] FE27 -> FE85
  • [x] FE28 -> FE86
  • [x] FE29 -> FE87
  • [x] FE2A -> FE88
  • [x] FE2B -> FE89
  • [x] FE2C -> FE8A
  • [x] FE2D -> FE8B
  • [x] FE2E -> FE8C
  • [x] FE2F -> FE8D

These have been fixed and are in the 3.6.95 release. I'll keep an eye out for issues in the future.

Thanks again for bringing this to our attention!

Great!!
You are welcome ;-)

Perhaps a silly question ...
You state it has been fixed in the 3.6.95 release. When I visit http://materialdesignicons.com , I can download 3.5.95.

Screenshot 2019-04-15 at 13 26 53

How can I download 3.6.95?
Thanks!
Wouter

@Yourney Got busy with a work thing last night and didn't have a second to update the site. That just links over to the https://github.com/templarian/MaterialDesign-SVG repo I think.

So you can just download it from there.

On the page you mention, one can download the svg-master.
On http://materialdesignicons.com One can download the webroot-master, containing the ttf, not, woff, woff2 and the svg.
As I am using this as a font in a mobile app, I need the ttf.

That's the other dist repo for npm: https://github.com/Templarian/MaterialDesign-Webfont

Thanks !!!!

Was this page helpful?
0 / 5 - 0 ratings

Related issues

JackDrakkar picture JackDrakkar  路  3Comments

ButchMonkey picture ButchMonkey  路  3Comments

bckp1993 picture bckp1993  路  3Comments

Templarian picture Templarian  路  3Comments

kimdv picture kimdv  路  3Comments