Как в Apple переписывают проекты на Swift
Анализаторы шрифтов обрабатывают данные из ненадежных источников, в результате чего TrueType оказывается уязвимым местом, критически важным с точки зрения безопасности.
Чтобы повысить отказоустойчивость формата на платформах Apple, инженеры приняли решение обновить проект с языка C на Swift.
Перед командой стояла амбициозная задача: обеспечить полную безопасность памяти, сохранить 100% попиксельную совместимость рендеринга и не допустить падения производительности.
Для проверки точности инженеры покрыли код тестами на 99,7% и прогнали 27 миллионов глифов из реальных PDF, сравнивая каждый битмап с эталоном.
📖 В этой статье можно посмотреть, какие трюки они использовали для работы с памятью и каких результатов достигли.
😃 iOS Dev
Анализаторы шрифтов обрабатывают данные из ненадежных источников, в результате чего TrueType оказывается уязвимым местом, критически важным с точки зрения безопасности.
Чтобы повысить отказоустойчивость формата на платформах Apple, инженеры приняли решение обновить проект с языка C на Swift.
Перед командой стояла амбициозная задача: обеспечить полную безопасность памяти, сохранить 100% попиксельную совместимость рендеринга и не допустить падения производительности.
Для проверки точности инженеры покрыли код тестами на 99,7% и прогнали 27 миллионов глифов из реальных PDF, сравнивая каждый битмап с эталоном.
📖 В этой статье можно посмотреть, какие трюки они использовали для работы с памятью и каких результатов достигли.
😃 iOS Dev