{"id":122675,"date":"2025-03-20T23:00:13","date_gmt":"2025-03-20T21:00:13","guid":{"rendered":"https:\/\/prohoster.info\/?p=122675"},"modified":"2025-03-20T23:00:13","modified_gmt":"2025-03-20T21:00:13","slug":"brauzer-chrome-perevedyon-na-shriftovoj-dvizhok-skrifa-napisannyj-na-rust","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/news\/brauzer-chrome-perevedyon-na-shriftovoj-dvizhok-skrifa-napisannyj-na-rust","title":{"rendered":"Der Chrome-Browser wurde auf die Schriftbibliothek Skrifa umgestellt, die in Rust geschrieben ist.","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Das Unternehmen Google hat den Chrome-Browser auf die Skrifa-Bibliothek umgestellt, die in der Programmiersprache Rust geschrieben ist und Funktionen zur Verarbeitung von Schriften im OpenType-Format bietet. Skrifa setzt ein Teilmengen von Funktionen der FreeType-Schriftbibliothek um, die f\u00fcr die 2D-Bibliothek Skia notwendig sind, die in Chrome und Chromium verwendet wird. Um die Skia-Bibliothek von der Abh\u00e4ngigkeit zur FreeType-Engine zu befreien, wurde ein neuer Schrift-Backend auf Basis von Skrifa erstellt.     <\/p>\n<p>In Chrome 128 wurde der in Rust geschriebene Backend im Experimentalmodus f\u00fcr selten verwendete Schriftformate wie CFF2 und Farbschriften aktiviert. Ab der Version Chrome 133 wird der neue Backend f\u00fcr alle Web-Schriften in den Builds f\u00fcr die Plattformen Linux, Android und ChromeOS verwendet. Auf den Plattformen Windows und macOS wird die neue Engine derzeit nur als Backup verwendet und kommt zum Einsatz, wenn das System das Schriftformat, das der Browser darzustellen versucht, nicht unterst\u00fctzt.       <\/p>\n<p>Der Skrifa-Code wurde von Ingenieuren bei Google im Rahmen des Fontations-Toolkits entwickelt und steht unter den Lizenzen MIT und Apache 2.0 zur Verf\u00fcgung. Um die Funktionsf\u00e4higkeit von Skrifa zu \u00fcberpr\u00fcfen, wurden etwa 700 Unit-Tests vorbereitet. Die Bibliothek unterst\u00fctzt das Dekodieren von Glyphen in den Formaten glyf, CFF, CFF2, COLRv0, COLRv1, EBDT, CBDT und sbix, variable Schriften in den Formaten glyf, CFF2 und COLRv1 sowie das Hinting von Schriften in den Formaten glyf, CFF und CFF2.      <\/p>\n<p>Neben der Skrifa-Bibliothek, die eine API f\u00fcr den Zugriff auf Schriftmetadaten und das Laden von Glyphen-Konturen bereitstellt, umfasst das Fontations-Toolkit Low-Level-Bibliotheken zum Lesen, Analysieren, Bearbeiten und Erstellen von Schriftarten im OpenType-Format. Fontations selbst ist Teil des Projekts Oxidize, das entwickelt wurde, um Werkzeuge und Bibliotheken f\u00fcr die Arbeit mit Text und Schriften von Komponenten in Python (fonttools, fontmake, nanoemoji) und C++ (HarfBuzz, FreeType) auf neue Implementierungen in Rust zu \u00fcbertragen.        <\/p>\n<p>Die Entwicklung von Komponenten in Rust begann aufgrund der unzureichenden Effizienz bei der Fehlererkennung durch Fuzzing-Tests, da die Schriftformate zu komplex sind, um alle m\u00f6glichen Kombinationen abzudecken. Zum Beispiel wurde letzte Woche eine kritische Schwachstelle in FreeType entdeckt, die die Ausf\u00fchrung von Code bei der Verarbeitung speziell gestalteter Schriften aufgrund eines Buffer Overflows zul\u00e4sst. Neben der FreeType-Engine k\u00f6nnen auch die verwendeten Abh\u00e4ngigkeiten wie bzip2, libpng und zlib Sicherheitsprobleme verursachen.      <\/p>\n<p>Die Verwendung von Rust hat die Wahrscheinlichkeit von Problemen im Umgang mit dem Speicher erheblich reduziert, die Codequalit\u00e4t verbessert, den Zeitaufwand f\u00fcr die Behebung von Sicherheitsproblemen verringert und die Implementierung von Verbesserungen in den Schriftartenfunktionen von Chrome beschleunigt. Statistiken von Google und Microsoft zeigen, dass etwa 70 % der gef\u00e4hrlichen Schwachstellen durch Speicherprobleme verursacht werden, die durch die Verwendung von Rust ohne unsafe-Bl\u00f6cke vermieden werden k\u00f6nnen.     <\/p>\n<p>Die Verwendung von Rust h\u00e4tte beispielsweise die zuvor im Code von FreeType aufgetretenen Probleme mit dem Zugriff auf freigegebene Speicherbereiche, das \u00dcberlaufen von Puffern, den Zugriff auf Arrays ohne Index\u00fcberpr\u00fcfung, ganzzahlige \u00dcberl\u00e4ufe, die inkorrekte Verwendung von nicht initialisierten Speicherbereichen und Typumwandlungsfehler verhindern k\u00f6nnen.<br \/>\n<br \/>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62922\">opennet.ru<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0430 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 Chrome \u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 Skrifa, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0448\u0440\u0438\u0444\u0442\u043e\u0432 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 OpenType. Skrifa \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u043f\u043e\u0434\u043c\u043d\u043e\u0436\u0435\u0441\u0442\u0432\u043e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0435\u0439 \u0448\u0440\u0438\u0444\u0442\u043e\u0432\u043e\u0433\u043e \u0434\u0432\u0438\u0436\u043a\u0430 FreeType, \u043d\u0435\u043e\u0431\u0445\u043e\u0434\u0438\u043c\u043e\u0435 \u0434\u043b\u044f 2D-\u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Skia, \u043f\u0440\u0438\u043c\u0435\u043d\u044f\u0435\u043c\u043e\u0439 \u0432 Chrome \u0438 Chromium. \u0414\u043b\u044f \u0438\u0437\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 Skia \u043e\u0442 \u043f\u0440\u0438\u0432\u044f\u0437\u043a\u0438 \u043a \u0434\u0432\u0438\u0436\u043a\u0443 FreeType \u0441\u043e\u0437\u0434\u0430\u043d \u043d\u043e\u0432\u044b\u0439 \u0448\u0440\u0438\u0444\u0442\u043e\u0432\u043e\u0439 \u0431\u044d\u043a\u0435\u043d\u0434, \u043e\u0441\u043d\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 Skrifa. \u0412 Chrome [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-122675","post","type-post","status-publish","format-standard","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0430 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 Chrome \u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 Skrifa, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0448\u0440\u0438\u0444\u0442\u043e\u0432 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 OpenType.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/news\/brauzer-chrome-perevedyon-na-shriftovoj-dvizhok-skrifa-napisannyj-na-rust\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0411\u0440\u0430\u0443\u0437\u0435\u0440 Chrome \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043d \u043d\u0430 \u0448\u0440\u0438\u0444\u0442\u043e\u0432\u043e\u0439 \u0434\u0432\u0438\u0436\u043e\u043a Skrifa, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 Rust | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0430 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 Chrome \u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 Skrifa, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0448\u0440\u0438\u0444\u0442\u043e\u0432 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 OpenType.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/news\/brauzer-chrome-perevedyon-na-shriftovoj-dvizhok-skrifa-napisannyj-na-rust\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2025-03-20T21:00:13+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2025-03-20T21:00:13+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Der Browser Chrome wurde auf die Schriftengine Skriba umgestellt, die in Rust geschrieben ist | ProHoster","description":"Google hat den Browser Chrome auf die Skriba-Bibliothek umgestellt, die in Rust geschrieben ist und Funktionen zur Verarbeitung von Schriftarten im OpenType-Format bietet.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/news\/brauzer-chrome-perevedyon-na-shriftovoj-dvizhok-skrifa-napisannyj-na-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0411\u0440\u0430\u0443\u0437\u0435\u0440 Chrome \u043f\u0435\u0440\u0435\u0432\u0435\u0434\u0451\u043d \u043d\u0430 \u0448\u0440\u0438\u0444\u0442\u043e\u0432\u043e\u0439 \u0434\u0432\u0438\u0436\u043e\u043a Skrifa, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0439 \u043d\u0430 Rust | ProHoster","og:description":"\u041a\u043e\u043c\u043f\u0430\u043d\u0438\u044f Google \u043f\u0435\u0440\u0435\u0432\u0435\u043b\u0430 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 Chrome \u043d\u0430 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 Skrifa, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u0443\u044e \u043d\u0430 \u044f\u0437\u044b\u043a\u0435 Rust \u0438 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u044e\u0449\u0443\u044e \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e\u0441\u0442\u0438 \u0434\u043b\u044f \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u0448\u0440\u0438\u0444\u0442\u043e\u0432 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 OpenType.","og:url":"https:\/\/prohoster.info\/de\/blog\/news\/brauzer-chrome-perevedyon-na-shriftovoj-dvizhok-skrifa-napisannyj-na-rust","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2025-03-20T21:00:13+00:00","article:modified_time":"2025-03-20T21:00:13+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"122675","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":"default","schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-23 11:24:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2026-01-23 11:24:20","updated":"2026-01-23 11:24:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/122675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=122675"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/122675\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=122675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=122675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=122675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}