{"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\/et\/blog\/news\/brauzer-chrome-perevedyon-na-shriftovoj-dvizhok-skrifa-napisannyj-na-rust","title":{"rendered":"Chrome'i brauser on viidatud Skrifa fondimootorile, mis on kirjutatud Rustis","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Google on viinud Chrome'i brauseri Skrifa teeki, mis on kirjutatud Rusti keeles ning pakub v\u00f5imalusi OpenType formaadis fondide t\u00f6\u00f6tlemiseks. Skrifa rakendab FreeType fondimootori vajadustele vastavat alamhulka v\u00f5imalustest, mis on h\u00e4davajalikud 2D Skia teegi jaoks, mida kasutatakse Chrome'is ja Chromiumis. Skia teegi vabastamiseks FreeType fondimootorist loodi uus Skrifa-p\u00f5hine fondi tagumise plaani lahendus.     <\/p>\n<p>Chrome 128-s, kus Rustis kirjutatud tagumise plaani funktsioon oli sisse l\u00fclitatud eksperimendis\u00fcsteemis harva kasutatavate fondivormingute, nagu CFF2 ja v\u00e4rvilised fondid, jaoks. Alates Chrome 133 v\u00e4ljalaskest on uus tagumise plaani lahendus kasutusel k\u00f5igi veebifondide jaoks Linuxi, Androidi ja ChromeOS platvormide kogumites. Windows ja macOS platvormidel kasutatakse uut mootrit praegu varunduslahendusena ning seda rakendatakse juhul, kui s\u00fcsteem ei toeta fondi formaati, mida brauser \u00fcritab kuvada.       <\/p>\n<p>Skrifa kood on loodud Google'i inseneride poolt Fontations t\u00f6\u00f6riista raames ja see on avatud MIT ja Apache 2.0 litsentside alla. Skrifa \u00f5ige toimimise kontrollimiseks on ette valmistatud umbes 700 \u00fchikutesti. Teek toetab gl\u00fc\u00fcfide dekodeerimist glyf, CFF, CFF2, COLRv0, COLRv1, EBDT, CBDT ja sbix formaatides, variatiivseid fonte glyf, CFF2 ja COLRv1 formaatides, ning gl\u00fc\u00fcfide hinda glyf, CFF ja CFF2 formaatides.      <\/p>\n<p>Lisaks Skrifa teegile, mis pakub API-d fondi metainfot ja gl\u00fc\u00fcfide kontuuride laadimist, sisaldab Fontations t\u00f6\u00f6riist madala taseme teeke fondiandmete lugemiseks, anal\u00fc\u00fcsiks, muutmiseks ja loomisel OpenType formaadis. Fontations on omakorda osa Oxidize projektist, mis on loodud utiliitide ja fondit\u00f6\u00f6stuse teekide \u00fcleviimiseks Python (fonttools, fontmake, nanoemoji) ja C++ (HarfBuzz, FreeType) koostisosadest uutesse rakendustesse, mis on kirjutatud Rustis.        <\/p>\n<p>Komponentide arendamine Rustis algas, kuna fuzzing-testimise kaudu vigu avastada on ebapiisav t\u00f5husus, kuna fondiformaadid on liiga keerulised, et katta k\u00f5iki v\u00f5imalikke kombinatsioone. N\u00e4iteks eelmisel n\u00e4dalal avastati FreeType's kriitiline haavatavus, mis lubas koodi k\u00e4ivitada spetsiaalselt vormindatud fondide t\u00f6\u00f6tlemisel puhvriajamise kaudu. Lisaks FreeType mootori probleemidele v\u00f5ivad turvaprobleeme tekitada ka s\u00f5ltuvused, nagu bzip2, libpng ja zlib.      <\/p>\n<p>Rusti kasutamine on m\u00e4rkimisv\u00e4\u00e4rselt v\u00e4hendanud m\u00e4luprobleemide tekkimise t\u00f5en\u00e4osust, parandanud koodi kvaliteeti, lakanud raiskamast aega turvaprobleemide parandamiseks ja kiirendanud parenduste tegemist Chrome'i fontide funktsioonides. Google'i ja Microsofti statistika kohaselt on umbes 70% ohtlikest haavatavustest p\u00f5hjustatud m\u00e4luprobleemidest, mida saaks v\u00e4ltida Rusti keele abil, kui v\u00e4ltida unsafe-plokke.     <\/p>\n<p>N\u00e4iteks Rusti kasutamine oleks aidanud v\u00e4ltida FreeType koodis varem tuvastatud probleeme, mis on seotud vabastatud m\u00e4lu aladele juurdep\u00e4\u00e4suga, puutumisega m\u00e4lu piiridest v\u00e4lja, massiivide juurde p\u00e4\u00e4semisega ilma indeksite kontrollita, t\u00e4isarvude \u00fclet\u00e4itumisega, mitte-nullitud m\u00e4lu alade vale kasutamisega ja t\u00fc\u00fcpide \u00fcleminekute vigadega.<br \/>\n<br \/>Allikas: <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\/et\/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=\"et_EE\" \/>\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\/et\/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\udd47Brauser Chrome on \u00fcleminekuinud fontide mootori Skrifa, kirjutatud Rustis | ProHoster","description":"Google on t\u00f5stnud brauseri Chrome Skrifa teeki, mis on kirjutatud Rusti keeles ja pakub v\u00f5imalusi OpenType formaadis fontide t\u00f6\u00f6tlemiseks.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/news\/brauzer-chrome-perevedyon-na-shriftovoj-dvizhok-skrifa-napisannyj-na-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","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\/et\/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\/et\/wp-json\/wp\/v2\/posts\/122675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=122675"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/122675\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=122675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=122675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=122675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}