changeset 31014:22eeb290c752 v9.0.0842

patch 9.0.0842: Unicode range for Apple SF symbols is outdated Commit: https://github.com/vim/vim/commit/0e364c9fca7a666de0775007d2f0687ecdd73c8d Author: Yee Cheng Chin <ychin.git@gmail.com> Date: Mon Nov 7 11:05:52 2022 +0000 patch 9.0.0842: Unicode range for Apple SF symbols is outdated Problem: Unicode range for Apple SF symbols is outdated. Solution: Update to SF Symbols 4. (Yee Cheng Chin, closes https://github.com/vim/vim/issues/11474)
author Bram Moolenaar <Bram@vim.org>
date Mon, 07 Nov 2022 12:15:05 +0100
parents a818f6703bef
children 8ec7f621e5b9
files src/mbyte.c src/version.c
diffstat 2 files changed, 23 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- 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
     };
 
--- 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,