From e5adcec141609e7f39ffb5e4ed8a0c369a662dbe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rene=CC=81=20Ko=CC=88cher?= Date: Sun, 12 Jul 2015 14:21:50 +0200 Subject: [PATCH] Add basic support for CoreText ligatures. (cherry picked from commit 1497587763d3279073d7c54614fa700b3d736d1f) --- .../Preferences.nib/designable.nib | 2040 +++-------------- .../Preferences.nib/keyedobjects.nib | Bin 27772 -> 15893 bytes src/MacVim/MMAppController.m | 25 + src/MacVim/MMCoreTextView.h | 1 + src/MacVim/MMCoreTextView.m | 72 +- src/MacVim/MacVim.h | 1 + src/MacVim/MacVim.m | 1 + 7 files changed, 417 insertions(+), 1723 deletions(-) diff --git a/src/MacVim/English.lproj/Preferences.nib/designable.nib b/src/MacVim/English.lproj/Preferences.nib/designable.nib index 8a7b8adefa..61719b6784 100644 --- a/src/MacVim/English.lproj/Preferences.nib/designable.nib +++ b/src/MacVim/English.lproj/Preferences.nib/designable.nib @@ -1,1719 +1,321 @@ - - - - 1050 - 12A269 - 2549 - 1187 - 624.00 - - com.apple.InterfaceBuilder.CocoaPlugin - 2549 - - - NSButton - NSButtonCell - NSCustomObject - NSCustomView - NSMatrix - NSMenu - NSMenuItem - NSPopUpButton - NSPopUpButtonCell - NSTextField - NSTextFieldCell - NSUserDefaultsController - - - com.apple.InterfaceBuilder.CocoaPlugin - - - PluginDependencyRecalculationVersion - - - - - MMPreferenceController - - - FirstResponder - - - NSApplication - - - YES - - - - 268 - - - - 256 - {{17, 162}, {187, 17}} - - - - YES - - 67108864 - 71303168 - Open files from applications: - - LucidaGrande - 13 - 1044 - - - - 6 - System - controlColor - - 3 - MC42NjY2NjY2NjY3AA - - - - 6 - System - controlTextColor - - 3 - MAA - - - - NO - - - - 256 - {{17, 253}, {187, 17}} - - - - YES - - 67108864 - 71303168 - Open untitled window: - - - - - - NO - - - - 256 - {{209, 212}, {243, 58}} - - - - YES - NO - 3 - 1 - - - -2080374784 - 0 - on launch and re-activation - - - 3 - 1211912448 - 0 - - NSRadioButton - - - - - - 200 - 25 - - - 67108864 - 0 - only when MacVim launches - - - 1 - 1211912448 - 0 - - - - 200 - 25 - - - 67108864 - 0 - never - - - 1211912448 - 0 - - 549453824 - {18, 18} - - - - - - TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw -IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ -29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 -dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA -AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG -AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/ -0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/ -7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/ -5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/ -3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD -AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns -AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/ -6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/ -/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/ -///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl -YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA -AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD -AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu -AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgEAAAMAAAABABIAAAEB -AAMAAAABABIAAAECAAMAAAAEAAAFxgEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES -AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS -AAMAAAABAAEAAAFTAAMAAAAEAAAFzodzAAcAABDoAAAF1gAAAAAACAAIAAgACAABAAEAAQABAAAQ6GFw -cGwCAAAAbW50clJHQiBYWVogB9gAAgACABEAIwAlYWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAPbWAAEAAAAA0y1hcHBsuR+jvsxNwCFjdjK72KIUegAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAOclhZWgAAASwAAAAUZ1hZWgAAAUAAAAAUYlhZWgAAAVQAAAAUd3RwdAAAAWgAAAAUY2hhZAAA -AXwAAAAsclRSQwAAAagAAAAOZ1RSQwAAAbgAAAAOYlRSQwAAAcgAAAAOdmNndAAAAdgAAAYSbmRpbgAA -B+wAAAY+ZGVzYwAADiwAAABkZHNjbQAADpAAAAH+bW1vZAAAEJAAAAAoY3BydAAAELgAAAAtWFlaIAAA -AAAAAF/MAAA2wgAACVlYWVogAAAAAAAAcKYAALKbAAAm8lhZWiAAAAAAAAAmZAAAFr0AAKLaWFlaIAAA -AAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1 -cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAAD -AQAAAgAAAQYC8AUGBgcIDAkHCw4MCw4RDwwRDRIXFBMWFhcVGRgaGBwbHRseHSAhISMjICQmJicnJigp -KiorLCwrLi8vLzAwMjMzMjQ1NjU3Njg3OTg7Ojw8PT4+Pj9AQUBCQ0NDRENFRkdGSElJSUpKS0xNTU5N -T09QUVFRUlNUUlVVVlZXV1hYWVhbXFxcXVxeXl9fYGFhYmJiY2NkZWVlZmZnZ2hoaWlqa2trbGxtbW5u -b3BwcHFxcnJzc3R0dXR2dnd4eHh5enp6e3x8fH18fn5/foCAgYGCgYODhISFhYaGh4eIiIkIiYmKiouL -jIuNjY6Oj4+QkJGRkpKTk5SUlZWWlpeXmJiZGJmZmpqbm5ycnZ2enp+foKChoaKio6OkI6SkpaWmpqen -qKipqaqqq6usrK2trq6vr7AvsLCxsbKys7O0tLW1tra3t7i4ubm6Obq6u7u8vL29vr6/v8DAwcHCQcLC -w8PExMXFxsbHx8jIyUjJycrKy8vMzM3Nzs7PTs/P0NDR0dLS09PUU9TU1dXW1tfX2NjZWNnZ2trb29zc -3Vzd3d7e39/g4OFg4eHi4uPj5OTlZOXl5ubn5+hn6Ojp6erq6+vsa+zs7e3u7u9u7+/w8PHx8nHy8vPz -9HP09PX19vb3dvf3+Pj5ePn5+vr7evv7/Pz9fP39/n3+/v//AAADBQP4BgcHBwgMCQcLDgwLDRIPCRAO -ERYTEhQUFRMWFRgUGRgbFxwbHSAfICAeISMjJCQjJSYmJygpKSgqKywsLS0uLy8uMTEyMjMyNDM1NDc2 -ODg5Ojo6Ozw9PD4/Pz9AP0FCQ0JERUVFRkZHSElJSklLS0xNTU1OTk9OUFBRUVJSU1NUU1VWVlZXVlhY -WlpbXFxdXV1eXl9gYGBhYWJiY2NkZGVmZmZoaGlpamprbGxsbW1ubm9vcHBxcHJyc3R0dHV2dnZ3eHh4 -eXh6ent6fHx9fX59f3+AgIGBgoKDg4SEhYWGhoeHiIiJiIqKi4uMjI2Njo6Pj5CQkZGSkpOTlJSVlZaW -l5eYmJmZmpqbm5ycnZ2enp+foB+goKGhoqKjo6SkpaWmpqenqKipqaqqq6usrK2trq6vr7AvsLCxsbKy -s7O0tLW1tra3t7i4ubm6urs6u7u8vL29vr6/v8DAwcHCwsPDxMTFxcbGx8fIyMnJysrLy8zMzc3Ozs/P -0NDR0dLS09PU1NVU1dXW1tfX2NjZ2dra29vc3N3d3t7f3+Dg4WDh4eLi4+Pk5OVk5eXm5ufn6Gfo6Onp -6mnq6uvr7OztbO3t7u7v7/Bv8PDx8fLy83Lz8/T09XT19fb293b39/j4+Xj5+fp5+vr7evv7/Pz9fP39 -/n3+/v9+//8AAAIEAvcEBQUFBgoHBQgLCQgKDQsIDAoNEA4NDooPDhAPEQ8SERMRE5EUFRUWFhQXGBgZ -GRgaGhqZGxwcGx0eHh4fHyAhISAiIiKhIyMkIyUkJiYnJygpKSkqKysqLC0tLS4tLy8wMDEyMjIzMzQ1 -NTU2NTc3N7c4ODk5Ojk7Ozw8PT0+Pj8+QEFBQUJBQ0NEREVFRcVGRkdHSElJSUpKS0tMTE1NTk5Ozk9P -UFBRUVJTU1NUVFTUVVVWVldWWFhZWVnZWltbW1xdXV1d3V5eX15gYGFhYeFiYmNjZGRlZWXlZmZnZ2ho -aWlqamtqbGxtbW5ub29wcHDwcXFycnNzdHR1dXZ2d3d4eHl5enp7e3x8fPx9fX5+f3+AgIGBggGCgoOD -hISFhYaGh4eIiIkIiYmKiouLjIyNjY6Oj4+QD5CQkZGSkpOTlJSVlZYVlpaXl5iYmZmampubnJydnZ6e -n5+gH6CgoaGioqOjpKSlpaamp6eoqKmpqqqrq6ysra2urq+vsLCxsbKys7O0tLW1tra3t7i4ubm6uru7 -vLy+vr+/wD/AwMHBwsLDw8TExcXGxsfHyMjJycrKy8vMzM3Nzs7Pz9DQ0dHS0tPT1NTV1dbW19fY2NnZ -2trb29zc3d3e3uDg4eHi4uTk5eXn5unp6+vt7fDw8/P29vn5/f3//wAAbmRpbgAAAAAAAAY2AACVGAAA -Vl8AAFFhAACIhgAAKTQAABaoAABQDQAAVDkAAl64AAJPXAABeFEAAwEAAAIAAAADAAYACwAQABYAJQAu -ADcATQBZAGUAgQCQAJ8AwQDSAOUBCwEgATUBSwFhAZABqAHBAfUCDwIrAmQCnwK9AtwDHAM9A18DowPG -A+oENAR/BKYEzQUdBXAFmgXEBhsGdAahBs8HLQeMB70H7ghSCLgJIAlUCYoJ9gpkCtULRwuBC7wMMgyr -DSYNog3hDiEOoQ8kD6kQLxBzELgRQxHPEl0S7hOAE8oUFRSrFUMV3RZ5FxcXZhe2GFgY/BmhGkga8Ruc -HEkc+B2oHlsfDx/FIH0hNyHyIrAjbyQwJPMltyZ+J0YoECjcKakqeStKLBws8S3HLqAveTBVMTMyEjLz -M9U0uTWgNoc3cThcOUk6ODsoPQ4+Az77P/RA7kHqQuhD6ETpRexG8Uf3SP9KCUsUTCFOQE9SUGZRe1KS -U6tUxVXhVv9YHlk/W4Vcq13SXvtgJWFSYn9jr2TgZhJnR2h8au1sKG1kbqJv4XEicmVzqXTvdjZ4yXoV -e2N8sn4Df1WAqYH/hK+GCYdliMKKIYuBjOOPrJESknuT5JVQlryZm5sMnH+d9J9qolqj1aVRps+oTqtR -rNSuWq/gsvK0frYLt5m6urxNveG/d8KnxEHF3ckZyrrMW83/0UrS8dSb1/HZn9tO3rHgZOPQ5YjnQeq5 -7Hbv9/G59UL3CPqa/jH//wAAAAAAAQADAAsAEAAWACUANwBNAFkAZQCBAJ8AsADBAOUBCwEgATUBYQGQ -AcEB2gH1AisCRwJkAp8C3AL8AxwDXwOjA8YD6gQ0BH8EzQT1BR0FcAXEBe8GGwZ0Bs8HLQdcB4wH7ghS -CLgJIAlUCYoJ9gpkCtULRwuBC7wMMgyrDSYNog3hDiEOoQ8kD6kQLxBzELgRQxHPEl0S7hOAFBUUqxVD -Fd0WeRcXF7YYWBj8GaEZ9BpIGvEbnBxJHPgdqB5bHw8fxSB9ITch8iKwIw8jbyQwJPMltyZ+J0YoECjc -KakqeStKLBws8S3HLqAveTBVMTMyEjLzM9U0uTWgNoc3cThcOUk6ODsoPBo9Dj4DPvs/9EDuQepC6EPo -ROlF7EbxR/dI/0oJSxRMIU0wTkBPUlBmUXtSklOrVMVV4Vb/WT9aYVuFXKtd0l77YCVhUmJ/Y69k4GYS -Z0dofGm0au1tZG6ib+FxInJlc6l073Y2d394yXoVfLJ+A39VgKmB/4NWhK+GCYdliMKKIYuBjOOOR4+s -kRKSe5PklVCWvJgrmZubDJx/nfSfaqJao9WlUabPqE6pzqtRrNSuWq/gsWmy8rYLt5m5Kbq6veG/d8EO -xEHF3ckZyrrMW8+j0UrS8dZF1/HZn9z/3rHiGePQ50Ho/Ox27/fzfPVC+ND8Zf//AAAAAQADAAsAFgAl -ADcATQBlAIEAnwDBAOUBCwE1AZABwQH1AisCZALcAxwDXwOjA+oENAR/BR0FcAXEBhsGdAbPBy0HjAhS -CLgJIAmKCfYKZArVC0cLvAwyDKsNJg2iDiEOoQ8kD6kQLxC4EUMRzxLuE4AUFRSrFUMV3RZ5FxcXthhY -GPwZoRpIGvEcSRz4HageWx8PH8UgfSE3IfIjbyQwJPMltyZ+J0Yo3CmpKnkrSiwcLccuoC95MFUyEjLz -M9U0uTaHN3E4XDlJOyg8Gj0OPgM++z/0QO5B6kLoQ+hE6UbxR/dI/0oJSxRMIU0wTkBPUlBmUXtSklTF -VeFW/1geWT9bhVyrXdJe+2AlYVJif2TgZhJnR2h8abRq7WwobqJv4XEicmVzqXTvd394yXoVe2N8sn4D -f1WAqYH/g1aGCYdliMKKIYuBjOOOR4+skRKSe5PklVCWvJgrmZubDJx/nfSfaqDholqj1aVRps+oTqnO -q1Gs1K5arx2v4LFptH62C7eZuSm6urxNveG/d8EOwqfEQcXdx3vJGcq6zFvN/8+j0UrS8dSb1kXX8dmf -207c/96x4GTiGePQ5YjmZOdB6PzqueuX7HbuNu8W7/fw1/G58przfPRf9UL12fZw9wj3oPg4+ND5afoB -+pr7M/vM/GX82P1L/b7+Mf8Y//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AABtbHVjAAAAAAAAAA8AAAAMaXRJVAAAABQAAADEZnJGUgAAAEIAAADYbmJOTwAAABIAAAEaZXNFUwAA -ABIAAAEsZmlGSQAAABAAAAE+cHRQVAAAABgAAAFOemhUVwAAAA4AAAFmamFKUAAAAA4AAAF0bmxOTAAA -ABYAAAGCZGVERQAAABAAAAGYa29LUgAAAAwAAAGoZW5VUwAAABIAAAG0c3ZTRQAAABAAAAHGZGFESwAA -ABwAAAHWemhDTgAAAAwAAAHyAEwAQwBEACAAYwBvAGwAbwByAGkAyQBjAHIAYQBuACAA4AAgAGMAcgBp -AHMAdABhAHUAeAAgAGwAaQBxAHUAaQBkAGUAcwAgAGMAbwB1AGwAZQB1AHIARgBhAHIAZwBlAC0ATABD -AEQATABDAEQAIABjAG8AbABvAHIAVgDkAHIAaQAtAEwAQwBEAEwAQwBEACAAYwBvAGwAbwByAGkAZABv -X2mCcm2yZnaYb3k6VmgwqzDpMPwAIABMAEMARABLAGwAZQB1AHIAZQBuAC0ATABDAEQARgBhAHIAYgAt -AEwAQwBEzuy37AAgAEwAQwBEAEMAbwBsAG8AcgAgAEwAQwBEAEYA5AByAGcALQBMAEMARABMAEMARAAt -AGYAYQByAHYAZQBzAGsA5gByAG1faYJyACAATABDAEQAAG1tb2QAAAAAAAAGEAAAnEUAAAAAvnORAAAA -AAAAAAAAAAAAAAAAAAB0ZXh0AAAAAENvcHlyaWdodCBBcHBsZSBDb21wdXRlciwgSW5jLiwgMjAwNQAA -AAA - - - - - - 3 - MCAwAA - - - - 400 - 75 - - - {243, 18} - {4, 2} - 1143472128 - NSActionCell - - 67108864 - 0 - Radio - - 1211912448 - 0 - - - 400 - 75 - - - - - 3 - MQA - - - - - - 268 - {{209, 141}, {243, 38}} - - - - YES - NO - 2 - 1 - - - 67108864 - 0 - in a new window - - - 1211912448 - 0 - - - - 200 - 25 - - - -2080374784 - 0 - in the current window - - - 1 - 1211912448 - 0 - - 549453824 - {18, 18} - - - - - - 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 -AAAAAF1KAAA0kQAACCVYWVogAAAAAAAAdCAAALRgAAAjPVhZWiAAAAAAAAAlbAAAFyoAAKfDWFlaIAAA -AAAAAPNSAAEAAAABFs9zZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7ov///aMAAAPcAADAbGN1 -cnYAAAAAAAAAAQHNAABjdXJ2AAAAAAAAAAEBzQAAY3VydgAAAAAAAAABAc0AAHZjZ3QAAAAAAAAAAAAD -AQAAAQACBAUGBwkKCw0ODxASExQWFxgaGxweHyAiIyQmJygpKywtLzAxMjM1Njc4OTs8PT5AQUJDREZH -SElKS0xOT1BRUlNUVVZXWFlaW1xdXl9hYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ent8fX5/gIGCg4SF -hoeIiYqLjI2Oj5CRkpOUlZaXmJmam5ydnZ6foKGio6SlpqanqKmqq6ytra6vsLGysrO0tba3uLi5uru8 -vL2+v8DBwcLDxMXGxsfIycrKy8zNzs7P0NHS0tPU1dbW19jZ2drb3Nzd3t/g4eLi4+Tl5ufo6enq6+zt -7u/w8fHy8/T19vf4+fr7/P3+/v8AAgMEBQYHCAkKCwwNDg8QERITFBUWFxgZGhscHR8gISIjJCUnKCkq -Ky0uLzAxMzQ1Njc4OTo7PD0/QEFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaWltcXV5fYGFiY2RlZmdo -aWprbG1ub3BxcnN0dXZ3d3h5ent8fH1+f4CBgoKDhIWGh4iIiYqLjI2Oj5CRkpOUlJWWl5iZmpucnZ2e -n6ChoqOkpaamp6ipqqusra6vsLCxsrO0tba3uLm5uru8vb6/wMHCw8TFx8jJysvMzc7P0NDR0tPU1dbX -2Nna29ze3+Dh4uPk5ebn6err7O3u7/Hy8/T19vf5+vv8/f7/AAIDAwQFBgcICQoKCwwNDg8QERITFBUW -FxgZGhscHR4fICEiIyQlJicoKSorLC0uLzAxMjM0NTY3ODg5Ojs8PT4+P0BBQkNDREVGR0hJSUpLTE1O -Tk9QUVJSU1RVVVZXWFhZWltbXF1eXl9gYWFiY2RkZWZnZ2hpaWprbGxtbm5vcHFxcnNzdHV1dnd4eHl6 -ent8fH1+fn+AgYGCg4SEhYaHiImJiouMjY6Oj5CRkpOTlJWWl5iZmZqbnJ2en6ChoqOkpaanqKmqq6yt -rq+xsrO0tba3uLq7vL2+wMHDxMbHycrMzs/R0tTW19nb3d7g4uTm6Ors7vDy9Pb4+vz+/wAAbmRpbgAA -AAAAAAY2AACXGgAAVjoAAFPKAACJ3gAAJ8IAABaoAABQDQAAVDkAAiuFAAIZmQABeFEAAwEAAAIAAAAA -AAEABgANABcAIwAxAEAAUgBlAHsAkwCrAMUA4gD/AR8BPwFhAYUBqgHQAfgCIAJLAncCpQLSAwIDMwNl -A5gDzgQFBD0EdQSvBOsFKQVnBacF6AYqBm4GtQb8B0UHkgfkCDkIkAjnCT4JmAn0ClAKrQsLC2sLygwq -DIwM8Q1XDcAOKA6SDv4PbA/bEE0QxBE7EbQSMRKwEzITuRREFNAVYBXxFocXHhfAGGIZBBmsGlQa+RuU -HC4czh1yHhQeux9jIA0gvCFoIhkizyOJJEEk+SW6JnknOygFKMspkypiKzIsASzXLawuhy9gMD4xGzH8 -MtszvzSgNYY2cjdcOEw5OTorOxs8CD0EPfU+6z/nQOFB2ELUQ9VE00XcRttH5EjxSgBLCUwdTTFOUE9v -UI9Rt1LdVAVVNlZsV6VY4FohW21ct135X09goGH0Y0tkqGYFZ19oxGova5ptCG54b/BxbnLsdG119Xd/ -eQh6knwqfcV/W4D4gpSEO4Xih4CJKorYjIqOOY/jkZuTWJUOlsyYiZpSnB6d4Z+soX+jWqUvpxOo+6rj -rMuuwLC4sra0rra0uL+60LzfvwDBHcLdxLXGhchYyi7MCs3lz7rRmtOA1WPXR9kq2xPc/97s4M/iveSn -5o3obupT7ELuLPAM8fLz0PW396H5f/tZ/T3//wAAAAEAAwALABYAJQA3AE0AZQCBAJ8AwQDlAQsBNQFh -AZABwQH1AisCZAKfAtwDHANfA6MD6gQ0BH8EzQT1BR0FcAXEBhsGdAbPBy0HXAeMB+4IUgi4CSAJVAmK -CfYKZArVC0cLgQu8DDIMqw0mDaIOIQ6hDyQPqRAvELgQ/RFDEc8SXRLuE4AUFRSrFUMV3RZ5FxcXthhY -GPwZoRpIGvEbnBxJHPgdqB5bHw8fxSB9ITch8iKwJDAk8yW3Jn4nRigQKNwpqSp5K0osHCzxLccuoC95 -MFUxMzISMvMz1TS5NaA2hzdxOFw5STo4Oyg8Gj4DPvs/9EDuQepD6ETpRexG8Uf3SP9LFEwhTTBOQE9S -UGZSklOrVMVV4Vb/WB5ZP1phW4Vcq13SXvthUmJ/Y69k4GYSZ0dofGm0au1tZG6ib+FxInJlc6l073Y2 -d396FXtjfLJ+A39VgKmB/4NWhK+GCYjCiiGLgYzjjkePrJESknuT5Ja8mCuZm5sMnH+d9J9qoOGiWqPV -pVGmz6eOqE6pzqtRrNSuWq/gsWmy8rR+tgu5Kbq6vE294b93wQ7Cp8RBxd3He8kZyrrLisxbzf/Po9FK -0vHUm9ZF1/HZn9tO3Cbc/96x4GTiGePQ5YjnQegf6Pzquex27jbv9/G583z0X/VC9wj40Pqa/GX+Mf// -AAAAAQADAAsAJQA3AE0AZQCBAJ8AwQELATUBYQGQAcEB9QIrAmQCnwLcAxwDXwOjA+oENAR/BM0FHQVw -BcQGGwZ0Bs8HLQeMB+4IUgi4CSAJign2CmQK1QtHC7wMMgyrDSYNog4hDqEPJA+pEC8QuBFDEl0S7hOA -FBUUqxVDFnkXFxe2GFgY/BpIGvEbnBxJHPgdqB8PH8UgfSE3IfIjbyQwJPMltydGKBAo3Cp5K0osHC3H -LqAveTEzMhIy8zS5NaA2hzhcOUk6ODwaPQ4+Az/0QO5C6EPoROlG8Uf3SglLFEwhTkBPUlF7UpJUxVXh -Vv9ZP1phXKtd0mAlYVJjr2TgZhJofGm0au1tZG6ib+FxInJldO92Nnd/eMl6FXyyfgN/VYCpgf+Er4YJ -h2WIwoohi4GOR4+skRKSe5PklVCWvJgrmZubDJx/nfSfaqDholqj1aVRps+oTqnOq1Gs1K2Xrlqv4LFp -svK0frYLt5m5Kbnxurq8Tb3hv3fBDsHawqfEQcUPxd3He8hKyRnKusuKzFvN/87Rz6PQdtFK0vHTxtSb -1kXXG9fx2MjZn9tO3Cbc/93Y3rHfiuBk4hni9ePQ5KzliOZk50HoH+j86drqueuX7HbtVu427xbv9/DX -8bnymvN89F/1QvYl9wj37PjQ+bX6mvt//GX9S/4x//8AAGRlc2MAAAAAAAAACkNvbG9yIExDRAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAAAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABIAAAAcAEMAbwBsAG8AcgAgAEwAQwBE -AABtbW9kAAAAAAAABhAAAJxOAAAAAL5zkQAAAAAAAAAAAAAAAAAAAAAAdGV4dAAAAABDb3B5cmlnaHQg -QXBwbGUgQ29tcHV0ZXIsIEluYy4sIDIwMDUAAAAAA - - - - - - - - 400 - 75 - - - {243, 18} - {4, 2} - 1151868928 - NSActionCell - - 67108864 - 0 - Radio - - 1211912448 - 0 - - 549453824 - {18, 18} - - - - - - TU0AKgAABRgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAMAAAADAAAAAwAAAAAAAAAA -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAADwRERGLJycnySsrK/A1NTXw -IyMjyRwcHIsJCQk8AAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFFRUVdVBQUOCoqKj/ -29vb//n5+f/6+vr/2tra/6qqqv9UVFTgHx8fdQAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUZGRl5 -dXV198PDw//8/Pz////////////////////////////U1NT/fHx89yUlJXkAAAAFAAAAAAAAAAAAAAAA -AAAAAxEREUZqamrmtbW1/+3t7f/+/v7//v7+//7+/v/9/f3//f39//39/f/39/f/xMTE/3d3d+YZGRlG -AAAAAwAAAAAAAAAAAAAACkJCQqGtra3/xsbG/+vr6//y8vL/9fX1//X19f/z8/P/9fX1//Ly8v/u7u7/ -0tLS/6+vr/9KSkqhAAAACgAAAAAAAAAAAAAAF3h4eN2/v7//z8/P/93d3f/q6ur/7+/v/+/v7//w8PD/ -7e3t/+3t7f/i4uL/zs7O/8XFxf98fHzdAAAAFwAAAAAAAAADAAAAJKSkpPjOzs7/2dnZ/+Dg4P/i4uL/ -5eXl/+bm5v/n5+f/5eXl/+Li4v/e3t7/2tra/9DQ0P+srKz4AAAAJAAAAAMAAAADAAAALrCwsPrW1tb/ -3t7e/+Tk5P/p6en/6+vr/+zs7P/p6en/6+vr/+fn5//k5OT/4ODg/9nZ2f+zs7P6AAAALgAAAAMAAAAD -AAAALp2dnezg4OD/5eXl/+rq6v/u7u7/8PDw//Dw8P/x8fH/8PDw/+7u7v/q6ur/5ubm/+Hh4f+ZmZns -AAAALgAAAAMAAAADAAAAJG5ubs/l5eX/6enp/+/v7//y8vL/9vb2//r6+v/5+fn/9/f3//b29v/x8fH/ -6+vr/+Tk5P9ra2vPAAAAJAAAAAMAAAAAAAAAFy4uLpPCwsL67Ozs//Pz8//5+fn//v7+//7+/v/+/v7/ -/v7+//v7+//19fX/8PDw/8LCwvosLCyTAAAAFwAAAAAAAAAAAAAACgAAAENfX1/S5OTk/vn5+f/+/v7/ -///////////////////////////8/Pz/5ubm/l9fX9IAAABDAAAACgAAAAAAAAAAAAAAAwAAABcAAABl -YmJi3NLS0v3////////////////////////////////V1dX9ZGRk3AAAAGUAAAAXAAAAAwAAAAAAAAAA -AAAAAAAAAAUAAAAfAAAAZTMzM8KAgIDwv7+//O3t7f/t7e3/v7+//ICAgPAzMzPCAAAAZQAAAB8AAAAF -AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAFwAAAEMAAAB3AAAAnwAAALMAAACzAAAAnwAAAHcAAABD -AAAAFwAAAAUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAoAAAAXAAAAJAAAAC4AAAAu -AAAAJAAAABcAAAAKAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAwAAAAMAAAADAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADQEAAAMAAAABABIAAAEB -AAMAAAABABIAAAECAAMAAAAEAAAFugEDAAMAAAABAAEAAAEGAAMAAAABAAIAAAERAAQAAAABAAAACAES -AAMAAAABAAEAAAEVAAMAAAABAAQAAAEWAAMAAAABABIAAAEXAAQAAAABAAAFEAEcAAMAAAABAAEAAAFS -AAMAAAABAAEAAAFTAAMAAAAEAAAFwgAAAAAACAAIAAgACAABAAEAAQABA - - - - - - - - 400 - 75 - - 1 - - - - - - - - 256 - {{209, 47}, {243, 58}} - - - - YES - - 67108864 - 4194304 - This applies to files opened from the Finder (e.g. by double-clicking on a file or by dragging a file onto the MacVim dock icon) or from external programs such as Xcode. - - LucidaGrande - 11 - 3100 - - - - - 6 - System - disabledControlTextColor - - 3 - MC4zMzMzMzMzMzMzAA - - - - NO - - - - 256 - {{207, 186}, {258, 18}} - - - - YES - - 67108864 - 0 - Check for updates - - - 1211912448 - 2 - - NSImage - NSSwitch - - - NSSwitch - - - - 200 - 25 - - NO - - - - 256 - {{17, 187}, {187, 17}} - - - - YES - - 67108864 - 71303168 - When MacVim launches: - - - - - - NO - - - - 268 - {{218, 109}, {229, 26}} - - - - YES - - -2076180416 - 2048 - - - 109199360 - 1 - - - 400 - 75 - - - and set the arglist - - 1048576 - 2147483647 - 1 - - NSImage - NSMenuCheckmark - - - NSImage - NSMenuMixedState - - _popUpItemAction: - - - YES - - OtherViews - - - - with a tab for each file - - 1048576 - 2147483647 - - - _popUpItemAction: - 3 - - - - - with a window for each file - - 1048576 - 2147483647 - - - _popUpItemAction: - 4 - - - - - with a split for each file - - 1048576 - 2147483647 - - - _popUpItemAction: - 1 - - - - - - 3 - 1 - YES - YES - 2 - - NO - - - - 256 - {{17, 22}, {187, 17}} - - - - YES - - 67108864 - 71303168 - After last window closes: - - - - - - NO - - - - 268 - {{206, 16}, {197, 26}} - - - - YES - - -2076180416 - 2048 - - - 109199360 - 1 - - - 400 - 75 - - - Keep MacVim Running - - 1048576 - 2147483647 - 1 - - - _popUpItemAction: - - - YES - - OtherViews - - - - - Hide MacVim - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - Quit MacVim - - 1048576 - 2147483647 - - - _popUpItemAction: - - - - - 1 - YES - YES - 2 - - NO - - - {483, 290} - - - - NSView - - - - 268 - - - - 268 - {{18, 50}, {388, 18}} - - - - YES - - -2080374784 - 0 - Prefer native full-screen support (requires Mac OS X 10.7) - - - 1211912448 - 2 - - - - - 200 - 25 - - NO - - - - 268 - {{17, 20}, {415, 28}} - - - - YES - - 67108864 - 272760832 - You may want to disable this option when using multiple monitors since the native full-screen support renders secondary monitors useless. - - - - - 3 - MC41AA - - - NO - - - - 268 - {{18, 146}, {174, 18}} - - - - YES - - 67108864 - 0 - Draw marked text inline - - - 1211912448 - 2 - - - - - 200 - 25 - - NO - - - - 268 - {{17, 74}, {444, 70}} - - - - YES - - 67108864 - 272760832 - This option causes marked text to be rendered like normal text which is very convenient when using a complex input method (e.g. Kotoeri). However, it has some known limitations which may be circumvented by disabling this option (e.g. mapping to "dead keys" may not work). Note that without this option the Core Text renderer will not draw marked text at all. - - - - - - NO - - - - 268 - {{18, 282}, {174, 18}} - - - - YES - - 67108864 - 0 - Use Core Text renderer - - - 1211912448 - 2 - - - - - 200 - 25 - - NO - - - - 268 - {{17, 252}, {449, 28}} - - - - YES - - 67108864 - 272760832 - Selecting this option will increase rendering performance but double-tapping with three fingers to look up words will no longer work. - - - - - - NO - - - - 268 - {{18, 228}, {133, 18}} - - - - YES - - 67108864 - 0 - Enable Quickstart - - - 1211912448 - 2 - - - - - 200 - 25 - - NO - - - - 268 - {{17, 170}, {449, 56}} - - - - YES - - 67108864 - 272760832 - New windows open instantaneously with Quickstart enabled but they may not have the latest runtime files sourced. If you modify your runtime files (e.g files inside the ~/.vim directory) then you may need to disable and re-enable Quickstart to ensure that the next window you open will pick up on those changes. - - - - - 3 - MC41AA - - 2 - - - - NO - - - {483, 318} - - - - NSView - - - - - - - generalPreferences - - - - 143 - - - - openInCurrentWindowSelectionChanged: - - - - 572 - - - - layoutPopUpButton - - - - 596 - - - - advancedPreferences - - - - 632 - - - - quickstartButtonClicked: - - - - 858 - - - - atsuiButtonClicked: - - - - 892 - - - - selectedTag: values.MMUntitledWindow - - - - - - selectedTag: values.MMUntitledWindow - selectedTag - values.MMUntitledWindow - 2 - - - 171 - - - - selectedTag: values.MMOpenInCurrentWindow - - - - - - selectedTag: values.MMOpenInCurrentWindow - selectedTag - values.MMOpenInCurrentWindow - 2 - - - 520 - - - - value: values.SUCheckAtStartup - - - - - - value: values.SUCheckAtStartup - value - values.SUCheckAtStartup - 2 - - - 169 - - - - selectedTag: values.MMOpenLayout - - - - - - selectedTag: values.MMOpenLayout - selectedTag - values.MMOpenLayout - 2 - - - 441 - - - - enabled: values.MMOpenInCurrentWindow - - - - - - enabled: values.MMOpenInCurrentWindow - enabled - values.MMOpenInCurrentWindow - - NSValueTransformerName - NSNegateBoolean - - 2 - - - 546 - - - - value: values.MMRenderer - - - - - - value: values.MMRenderer - value - values.MMRenderer - 2 - - - 1000 - - - - value: values.MMPreloadCacheSize - - - - - - value: values.MMPreloadCacheSize - value - values.MMPreloadCacheSize - 2 - - - 828 - - - - selectedIndex: values.MMLastWindowClosedBehavior - - - - - - selectedIndex: values.MMLastWindowClosedBehavior - selectedIndex - values.MMLastWindowClosedBehavior - 2 - - - 968 - - - - value: values.MMUseInlineIm - - - - - - value: values.MMUseInlineIm - value - values.MMUseInlineIm - 2 - - - 1016 - - - - value: values.MMNativeFullScreen - - - - - - value: values.MMNativeFullScreen - value - values.MMNativeFullScreen - 2 - - - 1031 - - - - - - 0 - - - - - - -2 - - - File's Owner - - - -1 - - - First Responder - - - -3 - - - Application - - - 58 - - - Shared Defaults - - - 115 - - - - - - - - - - - - - - - General - - - 116 - - - - - - - - 117 - - - - - - - - 119 - - - - - - - - - - - 137 - - - - - 138 - - - - - 139 - - - - - 120 - - - - - - - - - - 134 - - - - - 135 - - - - - 121 - - - - - - - - 122 - - - - - - - - 124 - - - - - - - - 126 - - - - - - - - 427 - - - - - - - - 957 - - - - - - - - 620 - - - - - - - - - - - - - Advanced - - - 782 - - - - - - - - 815 - - - - - - - - 817 - - - - - - - - 826 - - - - - - - - 972 - - - - - 973 - - - - - 974 - - - - - 975 - - - - - 976 - - - - - 977 - - - - - 978 - - - - - - - - 979 - - - - - - - - 990 - - - - - 991 - - - - - 992 - - - - - 993 - - - - - 996 - - - - - 997 - - - - - 429 - - - - - - - - - - - 544 - - - - - 436 - - - - - 431 - - - - - 430 - - - - - 959 - - - - - - - - - - 962 - - - - - 961 - - - - - 960 - - - - - 1001 - - - - - - - - 1004 - - - - - 1013 - - - - - - - - 1014 - - - - - 1017 - - - - - - - - 1020 - - - - - 1028 - - - - - - - - 1029 - - - - - - - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - com.apple.InterfaceBuilder.CocoaPlugin - - - - - - 1031 - - - - - DBPrefsWindowController - NSWindowController - - IBProjectSource - ./Classes/DBPrefsWindowController.h - - - - FirstResponder - - id - id - id - - - - atsuiButtonClicked: - id - - - loginShellButtonClicked: - id - - - quickstartButtonClicked: - id - - - - IBUserSource - - - - - MMPreferenceController - DBPrefsWindowController - - openInCurrentWindowSelectionChanged: - id - - - openInCurrentWindowSelectionChanged: - - openInCurrentWindowSelectionChanged: - id - - - - NSView - NSView - NSPopUpButton - - - - advancedPreferences - NSView - - - generalPreferences - NSView - - - layoutPopUpButton - NSPopUpButton - - - - IBProjectSource - ./Classes/MMPreferenceController.h - - - - - 0 - IBCocoaFramework - - com.apple.InterfaceBuilder.CocoaPlugin.macosx - - - YES - 3 - - {11, 11} - {10, 3} - {15, 15} - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + NSNegateBoolean + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This applies to files opened from the Finder (e.g. by double-clicking on a file or by dragging a file onto the MacVim dock icon) or from external programs such as Xcode. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + New windows open instantaneously with Quickstart enabled but they may not have the latest runtime files sourced. If you modify your runtime files (e.g files inside the ~/.vim directory) then you may need to disable and re-enable Quickstart to ensure that the next window you open will pick up on those changes. + + + + + + + + + + + + Selecting this option will increase rendering performance but double-tapping with three fingers to look up words will no longer work. + + + + + + + + + + + Selecting this option will enable full support for displaying font ligatures. Using this with a non-proportional font may result in layout issues. + + + + + + + + + + + + + This option causes marked text to be rendered like normal text which is very convenient when using a complex input method (e.g. Kotoeri). However, it has some known limitations which may be circumvented by disabling this option (e.g. mapping to "dead keys" may not work). Note that without this option the Core Text renderer will not draw marked text at all. + + + + + + + + + + + + You may want to disable this option when using multiple monitors since the native full-screen support renders secondary monitors useless. + + + + + + + + + + + diff --git a/src/MacVim/English.lproj/Preferences.nib/keyedobjects.nib b/src/MacVim/English.lproj/Preferences.nib/keyedobjects.nib index 993915f03e6061600f7e78fc5dd47fe92138a733..b019497a60131cacbbcd11a5f09f2a891d8c3db8 100644 GIT binary patch literal 15893 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 0) { + if(count - offset > *length) { + count = (*length) - offset; + } + } + + CFRange range = CFRangeMake(0, count); + CTRunGetGlyphs(run, range, &glyphs[offset]); + + offset += count; + if(offset >= *length) { + // don't copy more glyphs then there is space for + break; + } + } + // as ligatures combine characters it is required to adjust the + // original length value + *length = offset; +} + static void recurseDraw(const unichar *chars, CGGlyph *glyphs, CGPoint *positions, UniCharCount length, CGContextRef context, CTFontRef fontRef, - NSMutableArray *fontCache) + NSMutableArray *fontCache, BOOL useLigatures) { - if (CTFontGetGlyphsForCharacters(fontRef, chars, glyphs, length)) { // All chars were mapped to glyphs, so draw all at once and return. + if (useLigatures) { + memset(glyphs, 0, sizeof(CGGlyph) * length); + ligatureGlyphsForChars(chars, glyphs, &length, fontRef); + } + CGFontRef cgFontRef = CTFontCopyGraphicsFont(fontRef, NULL); CGContextSetFont(context, cgFontRef); CGContextShowGlyphsAtPositions(context, glyphs, positions, length); @@ -1077,7 +1141,7 @@ recurseDraw(const unichar *chars, CGGlyph *glyphs, CGPoint *positions, } recurseDraw(chars, glyphs, positions, attemptedCount, context, - fallback, fontCache); + fallback, fontCache, useLigatures); // If only a portion of the invalid range was rendered above, // the remaining range needs to be attempted by subsequent @@ -1201,7 +1265,7 @@ recurseDraw(const unichar *chars, CGGlyph *glyphs, CGPoint *positions, } CGContextSetTextPosition(context, x, y+fontDescent); - recurseDraw(chars, glyphs, positions, length, context, fontRef, fontCache); + recurseDraw(chars, glyphs, positions, length, context, fontRef, fontCache, useLigatures); CFRelease(fontRef); CGContextRestoreGState(context); diff --git a/src/MacVim/MacVim.h b/src/MacVim/MacVim.h index 727fe36ba5..6d1135081b 100644 --- a/src/MacVim/MacVim.h +++ b/src/MacVim/MacVim.h @@ -275,6 +275,7 @@ extern NSString *MMNoWindowKey; extern NSString *MMAutosaveRowsKey; extern NSString *MMAutosaveColumnsKey; extern NSString *MMRendererKey; +extern NSString *MMRendererLigaturesSupportKey; enum { MMRendererDefault = 0, diff --git a/src/MacVim/MacVim.m b/src/MacVim/MacVim.m index 61c8985b36..3b6b4e0428 100644 --- a/src/MacVim/MacVim.m +++ b/src/MacVim/MacVim.m @@ -117,6 +117,7 @@ NSString *MMNoWindowKey = @"MMNoWindow"; NSString *MMAutosaveRowsKey = @"MMAutosaveRows"; NSString *MMAutosaveColumnsKey = @"MMAutosaveColumns"; NSString *MMRendererKey = @"MMRenderer"; +NSString *MMRendererLigaturesSupportKey = @"MMRendererLigaturesSupport"; // Vim find pasteboard type (string contains Vim regex patterns) NSString *VimFindPboardType = @"VimFindPboardType";