{"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\/ro\/blog\/news\/brauzer-chrome-perevedyon-na-shriftovoj-dvizhok-skrifa-napisannyj-na-rust","title":{"rendered":"Browserul Chrome a fost migrat pe motorul de fonturi Skrifa, scris \u00een Rust","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Compania Google a migrat browserul Chrome la biblioteca Skrifa, scris\u0103 \u00een limbajul Rust, care ofer\u0103 func\u021bionalit\u0103\u021bi pentru procesarea fonturilor \u00een format OpenType. Skrifa implementeaz\u0103 un subset al capabilit\u0103\u021bilor motorului de fonturi FreeType, necesare pentru biblioteca 2D Skia, utilizat\u0103 \u00een Chrome \u0219i Chromium. Pentru a elibera biblioteca Skia de dependen\u021ba de motorul FreeType, a fost creat un nou backend de fonturi, bazat pe Skrifa.     <\/p>\n<p>\u00cen Chrome 128, backend-ul scris \u00een Rust a fost inclus \u00een mod experimental pentru formate de fonturi folosite rar, precum CFF2 \u0219i fonturi colorate. \u00cencep\u00e2nd cu lansarea Chrome 133, noul backend este activat pentru toate fonturile web \u00een versiunile pentru platformele Linux, Android \u0219i ChromeOS. Pe platformele Windows \u0219i macOS, noul motor este utilizat momentan ca rezerv\u0103 \u0219i se activeaz\u0103 \u00een cazul \u00een care sistemul nu sprijin\u0103 formatul fontului pe care \u00eencearc\u0103 s\u0103-l afi\u0219eze browserul.       <\/p>\n<p>Codul Skrifa a fost dezvoltat de inginerii Google \u00een cadrul instrumentarului Fontations \u0219i este deschis sub licen\u021bele MIT \u0219i Apache 2.0. Pentru a verifica corectitudinea func\u021bion\u0103rii Skrifa, au fost preg\u0103tite aproximativ 700 de teste unitare. Biblioteca suport\u0103 decodificarea glyph-urilor \u00een formatele glyf, CFF, CFF2, COLRv0, COLRv1, EBDT, CBDT \u0219i sbix, fonturi variative \u00een formatele glyf, CFF2 \u0219i COLRv1, \u0219i hinting pentru fonturi \u00een formatele glyf, CFF \u0219i CFF2.      <\/p>\n<p>Pe l\u00e2ng\u0103 biblioteca Skrifa, care ofer\u0103 API pentru accesul la metadatele fonturilor \u0219i \u00eenc\u0103rcarea contururilor glyph-urilor, instrumentarul Fontations include biblioteci de nivel sc\u0103zut pentru citirea, analiza, modificarea \u0219i crearea datelor fonturilor \u00een format OpenType. La r\u00e2ndul s\u0103u, Fontations face parte din proiectul Oxidize, creat pentru a traduce utilitare \u0219i biblioteci pentru lucrul cu textul \u0219i fonturile din componente scrise \u00een limbaje precum Python (fonttools, fontmake, nanoemoji) \u0219i C++ (HarfBuzz, FreeType) \u00een implement\u0103ri noi, scrise \u00een Rust.        <\/p>\n<p>Dezvoltarea componentelor \u00een Rust a \u00eenceput din cauza eficien\u021bei reduse \u00een detectarea erorilor prin testare fuzzing, deoarece formatele de fonturi sunt prea complexe pentru a acoperi toate combina\u021biile posibile. De exemplu, s\u0103pt\u0103m\u00e2na trecut\u0103, \u00een FreeType a fost identificat\u0103 o vulnerabilitate critic\u0103 care permite executarea de cod la procesarea fonturilor special concepute din cauza unui overflow de buffer. \u00cen afar\u0103 de motorul FreeType, problemele de securitate pot fi cauzate \u0219i de dependen\u021bele utilizate \u00een acesta, precum bzip2, libpng \u0219i zlib.      <\/p>\n<p>Utilizarea Rust a permis reducerea semnificativ\u0103 a riscurilor legate de problemele de gestionare a memoriei, \u00eembun\u0103t\u0103\u021birea calit\u0103\u021bii codului, sc\u0103derea timpului necesar pentru remedierea problemelor de securitate \u0219i accelerarea implement\u0103rii \u00eembun\u0103t\u0103\u021birilor la func\u021biile Chrome legate de fonturi. Conform statisticilor Google \u0219i Microsoft, aproximativ 70% din vulnerabilit\u0103\u021bile periculoase sunt cauzate de problemele de gestionare a memoriei, care pot fi evitate prin utilizarea limbajului Rust f\u0103r\u0103 blocuri unsafe.     <\/p>\n<p>De exemplu, utilizarea Rust ar fi evitat problemele anterioare identificate \u00een codul FreeType care se refer\u0103 la accesarea zonelor de memorie eliberate, dep\u0103\u0219irea limitelor buffer-ului, accesarea array-urilor f\u0103r\u0103 verificarea indicilor, dep\u0103\u0219irile de tip integer, utilizarea incorect\u0103 a zonelor de memorie neini\u021bializate \u0219i erorile de conversie \u00eentre tipuri.<br \/>\n<br \/>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/www.opennet.ru\/opennews\/art.shtml?num=62922\">opennet.ro<\/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.2.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\/ro\/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.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\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\/ro\/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\udd47Browserul Chrome a fost migra cu motorul de fonturi Skrifa, scris \u00een Rust | ProHoster","description":"Compania Google a migrat browserul Chrome c\u0103tre biblioteca Skrifa, scris\u0103 \u00een Rust, care ofer\u0103 func\u021bionalit\u0103\u021bi pentru procesarea fonturilor \u00een format OpenType.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/news\/brauzer-chrome-perevedyon-na-shriftovoj-dvizhok-skrifa-napisannyj-na-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","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\/ro\/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\/ro\/wp-json\/wp\/v2\/posts\/122675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=122675"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/122675\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=122675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=122675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=122675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}