diff options
author | Yee Cheng Chin <ychin.git@gmail.com> | 2022-11-07 11:05:52 +0000 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2022-11-07 11:05:52 +0000 |
commit | 0e364c9fca7a666de0775007d2f0687ecdd73c8d (patch) | |
tree | c08eb3e6932df2b456aec1ce12555cc293610380 | |
parent | 7af3ee2b83545169d78a28ab1cd89aff1127f8b3 (diff) | |
download | vim-git-0e364c9fca7a666de0775007d2f0687ecdd73c8d.tar.gz |
patch 9.0.0842: Unicode range for Apple SF symbols is outdatedv9.0.0842
Problem: Unicode range for Apple SF symbols is outdated.
Solution: Update to SF Symbols 4. (Yee Cheng Chin, closes #11474)
-rw-r--r-- | src/mbyte.c | 27 | ||||
-rw-r--r-- | src/version.c | 2 |
2 files changed, 23 insertions, 6 deletions
diff --git a/src/mbyte.c b/src/mbyte.c index 537c47bbe..aa2b177ce 100644 --- a/src/mbyte.c +++ b/src/mbyte.c @@ -1565,12 +1565,27 @@ utf_char2cells(int c) {0x1f6f3, 0x1f6f3} #ifdef MACOS_X - // Include SF Symbols characters, which should be rendered as - // double-width. All of them are in the Supplementary Private Use - // Area-B range. The exact range was determined by downloading the "SF - // Symbols" app from Apple, and then selecting all symbols, copying - // them out, and inspecting the unicode values of them. - , {0x100000, 0x100d7f} + // Include SF Symbols 4 characters, which should be rendered as + // double-width. SF Symbols is an Apple-specific set of symbols and + // icons for use in Apple operating systems. They are included as + // glyphs as part of the default San Francisco fonts shipped with + // macOS. The current version is SF Symbols 4. + // + // These Apple-specific glyphs are not part of standard Unicode, and + // all of them are in the Supplementary Private Use Area-B range. The + // exact range was determined by downloading the 'SF Symbols 4' app + // from Apple (https://developer.apple.com/sf-symbols/), and then + // selecting all symbols, copying them out, and inspecting the unicode + // values of them. + // + // Note that these symbols are of varying widths, as they are symbols + // representing differents things ranging from a simple gear icon to an + // airplane. Some of them are in fact wider than double-width, but Vim + // doesn't support non-fixed-width font, and tagging them as + // double-width is the best way to handle them. + // + // Also see https://en.wikipedia.org/wiki/San_Francisco_(sans-serif_typeface)#SF_Symbols + , {0x100000, 0x1018c7} #endif }; diff --git a/src/version.c b/src/version.c index 0e59a7874..d46aebb6f 100644 --- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 842, +/**/ 841, /**/ 840, |