J'ai une excellente police de programmation Deccy qui n'a de sens que si le lissage des polices (anti-aliasing) est désactivé dans Xcode. Avec Xcode 8, ce qui suit ferait l'affaire:
defaults write com.Apple.dt.Xcode NSFontDefaultScreenFontSubstitutionEnabled -bool YES
defaults write com.Apple.dt.Xcode AppleAntiAliasingThreshold 24
Mais cela ne fonctionne plus avec Xcode 9.
Serait-il possible de désactiver le lissage des polices dans Xcode 9?
Dans le catalogue Xcode 9 par Deccy sur 13pt:
Считаю, что выше, что вы хотите. Cliquez ici pour afficher le code-barres Xcode, cliquez sur le lien suivant:
Глубоко прощупал неинвазивный способ сделать то и потерпел неудачу. Tous les pays Xcode 9, Xcode 9, Xcode 9, Xcode 9, Xcode 9, Xcode 9, Xcode 9.
Прежде чем идти дальше, il y a environ 2 mois. Это займет всего несколько минут, и это ваша лучшая надежда на ответ, который можно обсудить перед теми, у кого здоровые инстинкты безопасности и напряженная сердечно-сосудистая система:
Написал плагин Xcode. Tous les noms de domaine, code Xcode 9, tous les symboles de code à barres, code à barres, code à barres À la une, à la nuit, à la nuit, à la nuit.
Суествует инструмент pdate_xcode_plugins . Вы можете использовать его для удаления подписи кода изаления копии XCode, и вместе
$ gem install update_xcode_plugins
$ update_xcode_plugins --unsign
Сли вы передумаете, вы можете сделать то, чтобы вернуться к (резервной копии, я дуя)?
$ update_xcode_plugins --restore
Сть еще один инструмент, Alcatraz . Cliquez ici pour afficher le code Xcode. Решил установить его, потому что он предоставляет плагин, который предоставляет шаклон Следовал эти инструкции
$ git clone https://github.com/alcatraz/Alcatraz.git
$ cd Alcatraz
$ xcodebuild
Я Xcode, щелкнул через диалоговое окно, предупреждающее меня о новом плагине, а затем использовал недавно добавленное Fenêtre> Gestionnaire de paquets для установки шаблона "Xcode Plugin".
Сделал проект с этим шаблоном.
Cliquez ici pour afficher le "Plugin Xcode" dans Xcode 9. Cliquez ici pour afficher le code. Xcode 9. Cliquez ici pour afficher le code. Xcode 9. Cliquez ici pour afficher le code. Cliquez ici pour afficher votre code Ucode: Xcode 9:
$ defaults read /Applications/Xcode.app/Contents/Info DVTPlugInCompatibilityUUID
En savoir plus Info.plist dans la liste de paramètres et plus de UUID dans la liste DVTPlugInCompatibilityUUIDs
.
Затем я связал SourceEditor.framework
в свой проект. То был двухэтапный процесс:
Посетите настройки сборки цели. Dans la liste des chemins de recherche du framework:
/Applications/Xcode.app/Contents/SharedFrameworks/
Посетите этапы сборки цели. Добавьте новый этап "Связать двоичные файлы с библиотеками". Ит плюс. Перейдите в каталог выше (вы можете просто нажать/и затем вставьте путь в) и выберите SourceEditor.framework
. Должен появиться в списке. Проект еще надо строить.
Затем я сделал файл .mm
моего плагина следующим образом (я удалил файл .h
#import <AppKit/AppKit.h>
#include <dlfcn.h>
extern void CGContextSetAllowsFontAntialiasing(CGContextRef, BOOL);
static void hooked_sourceEditorSetFontSmoothingStyle(CGContextRef ctx) {
CGContextSetAllowsFontAntialiasing(ctx, NO);
}
@interface NoAA : NSObject
@end
@implementation NoAA
+ (void)pluginDidLoad:(NSBundle *)plugin
{
NSArray *allowedLoaders = [plugin objectForInfoDictionaryKey:@"me.delisa.XcodePluginBase.AllowedLoaders"];
if (![allowedLoaders containsObject:[[NSBundle mainBundle] bundleIdentifier]])
return;
Class cls = NSClassFromString(@"SourceEditorScrollView");
NSBundle* bundle = [NSBundle bundleForClass:cls];
void *handle = dlopen(bundle.executablePath.fileSystemRepresentation, RTLD_NOW);
if (!handle)
return;
uint8_t* set_font_smoothing_fn = dlsym(handle, "sourceEditorSetFontSmoothingStyle");
if (!set_font_smoothing_fn)
goto fin;
void* set_font_smoothing_fn_page = (void*)((long)set_font_smoothing_fn & -PAGE_SIZE);
if (mprotect(set_font_smoothing_fn_page, PAGE_SIZE, PROT_READ | PROT_WRITE | PROT_EXEC))
goto fin;
set_font_smoothing_fn[0] = 0xe9; // jmp
uint32_t* jmp_arg = (uint32_t*)(set_font_smoothing_fn + 1);
*jmp_arg = (uint32_t)((long)hooked_sourceEditorSetFontSmoothingStyle - (long)(jmp_arg + 1));
mprotect(set_font_smoothing_fn_page, PAGE_SIZE, PROT_READ | PROT_EXEC);
fin:
dlclose(handle);
}
@end
... plus d´info goto
s добавить символ. По сути, он просто определяет функцию, которая принимает CGContextRef
et les autres produits, par exemple Затем он перезаписывает начало функции внутри среды SourceEditor, которая обычно настраивает параметры сглаживания - больше не нужно - чтобы перейти к нашей функции. Он делает все это невероятно небезопасным образом, поэтому, елленте образом, пойтому.
Создайте и запустите проект, который автоматически устанавливает плагин. Примите дополнение вашего плагина, и то все.
Сли что-то здесь не работает, il y a un mois Я не планирую сам добавить это в плагин Alcatraz, но вы или кто-либо другой должны сделать это с помощью кредита (после подачи запроса на добавление функций в Apple).
Дачного взлома!
Si vous "vivez" dans XCode et avez besoin d'un rendu net de cette police TrueType, la modification des paramètres par défaut de l'application XCode avec PrefEdit.app , ou defaults write com.Apple.dt.Xcode.*
n'a aucun effet.
En dehors des sentiers battus, les éléments suivants pourraient vous intéresser pour que votre Mac soit parfaitement crispyness.
Étant donné que la police Deccy est optimisée à 12 points, il est judicieux d’élever le AppleAntiAliasingThreshold dans le domaine global à 13, la valeur par défaut de ce paramètre est 4.
Vous pouvez également suggérer pas AppleFontSmoothing.
defaults write -g AppleFontSmoothing -int 0
defaults write -g AppleAntiAliasingThreshold -int 13
En plus de ces ajustements, vous pouvez obtenir un peu plus de temps dans le volet Préférences d’accessibilité des Préférences Système: L’affichage comporte 2 cases à cocher que vous devriez essayer: 'Différencier sans couleur' et ' Augmenter le contraste'.
"La beauté est dans l'oeil du spectateur", j'espère que cela aide.
Voici des étapes alternatives qui pourraient fonctionner pour vous.
Remarque: Pour plus de sécurité, conservez la sauvegarde du fichier d'origine.