summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYee Cheng Chin <ychin.git@gmail.com>2022-11-07 11:05:52 +0000
committerBram Moolenaar <Bram@vim.org>2022-11-07 11:05:52 +0000
commit0e364c9fca7a666de0775007d2f0687ecdd73c8d (patch)
treec08eb3e6932df2b456aec1ce12555cc293610380
parent7af3ee2b83545169d78a28ab1cd89aff1127f8b3 (diff)
downloadvim-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.c27
-rw-r--r--src/version.c2
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,