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} - - - - - - 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 -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} - - - - - - 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 -AAMAAAABAAEAAAFTAAMAAAAEAAAFzodzAAcAAAwYAAAF1gAAAAAACAAIAAgACAABAAEAAQABAAAMGGFw -cGwCAAAAbW50clJHQiBYWVogB9YABAADABMALAASYWNzcEFQUEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAPbWAAEAAAAA0y1hcHBsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA -AAAAAAAOclhZWgAAASwAAAAUZ1hZWgAAAUAAAAAUYlhZWgAAAVQAAAAUd3RwdAAAAWgAAAAUY2hhZAAA -AXwAAAAsclRSQwAAAagAAAAOZ1RSQwAAAbgAAAAOYlRSQwAAAcgAAAAOdmNndAAAAdgAAAMSbmRpbgAA -BOwAAAY+ZGVzYwAACywAAABkZHNjbQAAC5AAAAAubW1vZAAAC8AAAAAoY3BydAAAC+gAAAAtWFlaIAAA -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 993915f03e..b019497a60 100644 Binary files a/src/MacVim/English.lproj/Preferences.nib/keyedobjects.nib and b/src/MacVim/English.lproj/Preferences.nib/keyedobjects.nib differ diff --git a/src/MacVim/MMAppController.m b/src/MacVim/MMAppController.m index 8cb1b370e3..454d3ab0df 100644 --- a/src/MacVim/MMAppController.m +++ b/src/MacVim/MMAppController.m @@ -208,6 +208,7 @@ + (void)initialize [NSNumber numberWithBool:NO], MMNoFontSubstitutionKey, [NSNumber numberWithBool:YES], MMLoginShellKey, [NSNumber numberWithInt:2], MMRendererKey, + [NSNumber numberWithBool:NO], MMRendererLigaturesSupportKey, [NSNumber numberWithInt:MMUntitledWindowAlways], MMUntitledWindowKey, [NSNumber numberWithBool:NO], MMTexturedWindowKey, @@ -1225,6 +1226,27 @@ - (IBAction)atsuiButtonClicked:(id)sender [self rebuildPreloadCache]; } +- (IBAction)ligaturesButtonClicked:(id)sender +{ + ASLogDebug(@"Toggle CoreText ligatures"); + BOOL enable = ([sender state] == NSOnState); + + // Update the user default MMRendererLigaturesSupport and synchronize the + // change so that any new Vim process will pick up on the changed setting. + CFPreferencesSetAppValue( + (CFStringRef)MMRendererLigaturesSupportKey, + (CFPropertyListRef)[NSNumber numberWithBool:enable], + kCFPreferencesCurrentApplication); + CFPreferencesAppSynchronize(kCFPreferencesCurrentApplication); + + ASLogInfo(@"Use ligatures=%ld", enable); + + // This action is called when the user clicks the "enable support for ligatures" + // button in the advanced preferences pane. + [self rebuildPreloadCache]; +} + + - (IBAction)loginShellButtonClicked:(id)sender { ASLogDebug(@"Toggle login shell option"); diff --git a/src/MacVim/MMCoreTextView.h b/src/MacVim/MMCoreTextView.h index 489ae87142..f572caab43 100644 --- a/src/MacVim/MMCoreTextView.h +++ b/src/MacVim/MMCoreTextView.h @@ -31,6 +31,7 @@ float fontDescent; BOOL antialias; + BOOL useLigatures; NSMutableArray *drawData; MMTextViewHelper *helper; diff --git a/src/MacVim/MMCoreTextView.m b/src/MacVim/MMCoreTextView.m index 32d8496cf4..bf0245701e 100644 --- a/src/MacVim/MMCoreTextView.m +++ b/src/MacVim/MMCoreTextView.m @@ -132,6 +132,17 @@ - (id)initWithFrame:(NSRect)frame [self registerForDraggedTypes:[NSArray arrayWithObjects: NSFilenamesPboardType, NSStringPboardType, nil]]; + // Check if ligatures should be used or not + { + Boolean val; + Boolean keyValid; + val = CFPreferencesGetAppBooleanValue((CFStringRef)MMRendererLigaturesSupportKey, + kCFPreferencesCurrentApplication, + &keyValid); + + useLigatures = NO; + if(keyValid) { useLigatures = val; } + } return self; } @@ -1017,14 +1028,75 @@ - (void)batchDrawData:(NSData *)data return newFontRef; } + static void +ligatureGlyphsForChars(const unichar *chars, CGGlyph *glyphs, CGPoint *positions, UniCharCount *length, CTFontRef font ) +{ + /* CoreText has no simple wait of retrieving a ligature for a set of UniChars. + * The way proposed on the CoreText ML is to convert the text to an attributed + * string, create a CTLine from it and retrieve the Glyphs from the CTRuns in it. + */ + NSString *text = [NSString stringWithCharacters:chars + length:*length]; + + NSDictionary *attrs = [NSDictionary dictionaryWithObjectsAndKeys: + (id)font, kCTFontAttributeName, + // 2 - full ligatures including rare + [NSNumber numberWithInteger: 2], kCTLigatureAttributeName, + nil + ]; + + NSAttributedString *attrText = [[NSAttributedString alloc] initWithString:text + attributes:attrs]; + + CGPoint refPos = positions[0]; + + CTLineRef line = CTLineCreateWithAttributedString((CFAttributedStringRef)attrText); + + UniCharCount offset = 0; + NSArray *glyphRuns = (NSArray*)CTLineGetGlyphRuns(line); + + for (id item in glyphRuns) { + CTRunRef run = (CTRunRef)item; + CFIndex count = CTRunGetGlyphCount(run); + + if(count > 0) { + if(count - offset > *length) { + count = (*length) - offset; + } + } + + CFRange range = CFRangeMake(0, count); + CTRunGetGlyphs(run, range, &glyphs[offset]); + CTRunGetPositions(run, range, &positions[offset]); + + offset += count; + if(offset >= *length) { + // don't copy more glyphs then there is space for + break; + } + } + // fixup relative positioning + for( CFIndex i = 0; i < offset; ++i ) { + positions[i].x += refPos.x; + positions[i].y += refPos.y; + } + // 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, positions, &length, fontRef); + } + CGFontRef cgFontRef = CTFontCopyGraphicsFont(fontRef, NULL); CGContextSetFont(context, cgFontRef); CGContextShowGlyphsAtPositions(context, glyphs, positions, length); @@ -1077,7 +1149,7 @@ - (void)batchDrawData:(NSData *)data } 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 +1273,7 @@ - (void)drawString:(const UniChar *)chars length:(UniCharCount)length } 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 82d83ee735..6531534e0c 100644 --- a/src/MacVim/MacVim.h +++ b/src/MacVim/MacVim.h @@ -274,6 +274,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 f210c72ea6..f1311f4262 100644 --- a/src/MacVim/MacVim.m +++ b/src/MacVim/MacVim.m @@ -116,6 +116,7 @@ NSString *MMAutosaveRowsKey = @"MMAutosaveRows"; NSString *MMAutosaveColumnsKey = @"MMAutosaveColumns"; NSString *MMRendererKey = @"MMRenderer"; +NSString *MMRendererLigaturesSupportKey = @"MMRendererLigaturesSupport"; // Vim find pasteboard type (string contains Vim regex patterns) NSString *VimFindPboardType = @"VimFindPboardType";