{"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\/sq\/blog\/news\/brauzer-chrome-perevedyon-na-shriftovoj-dvizhok-skrifa-napisannyj-na-rust","title":{"rendered":"Shfletuesi Chrome \u00ebsht\u00eb transferuar n\u00eb motorin e shkronjave Skrifa, t\u00eb shkruar n\u00eb Rust","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Kompania Google ka transferuar shfletuesin Chrome n\u00eb bibliotek\u00ebn Skrifa, e cila \u00ebsht\u00eb shkruar n\u00eb gjuh\u00ebn Rust dhe ofron mund\u00ebsi p\u00ebr p\u00ebrpunimin e fonteve n\u00eb formatin OpenType. Skrifa realizon nj\u00eb n\u00ebngrup t\u00eb mund\u00ebsive t\u00eb motorit t\u00eb fonteve FreeType, t\u00eb nevojshme p\u00ebr bibliotek\u00ebn 2D Skia, e cila p\u00ebrdoret n\u00eb Chrome dhe Chromium. P\u00ebr t\u00eb \u00e7liruar bibliotek\u00ebn Skia nga lidhja me motorin FreeType, \u00ebsht\u00eb krijuar nj\u00eb backend i ri i fonteve, i bazuar n\u00eb Skrifa.     <\/p>\n<p>N\u00eb Chrome 128, backend-i i shkruar n\u00eb Rust u p\u00ebrfshi n\u00eb nj\u00eb mod eksperimenti p\u00ebr formate fontesh q\u00eb p\u00ebrdoren rrall\u00eb, si CFF2 dhe fonte me ngjyra. Duke filluar nga l\u00ebshimi i Chrome 133, backend-i i ri \u00ebsht\u00eb aktivizuar p\u00ebr t\u00eb gjitha fontet web n\u00eb nd\u00ebrtimet p\u00ebr platformat Linux, Android dhe ChromeOS. N\u00eb platformat Windows dhe macOS, motori i ri aktualisht p\u00ebrdoret si rezerv\u00eb dhe aplikohet n\u00eb rast se sistemi nuk mb\u00ebshtet formatin e fontit q\u00eb p\u00ebrpiqet t\u00eb shfaq\u00eb shfletuesi.       <\/p>\n<p>Kodi Skrifa \u00ebsht\u00eb zhvilluar nga inxhinier\u00ebt e Google brenda setit t\u00eb mjeteve Fontations dhe \u00ebsht\u00eb b\u00ebr\u00eb publik n\u00ebn licencat MIT dhe Apache 2.0. P\u00ebr t\u00eb verifikuar sakt\u00ebsin\u00eb e pun\u00ebs s\u00eb Skrifa, jan\u00eb p\u00ebrgatitur rreth 700 teste unike. Biblioteka mb\u00ebshtet dekodimin e glif\u00ebve n\u00eb formatet glyf, CFF, CFF2, COLRv0, COLRv1, EBDT, CBDT dhe sbix, fonte variative n\u00eb formatet glyf, CFF2 dhe COLRv1, si dhe hinto t\u00eb fonteve n\u00eb formatet glyf, CFF dhe CFF2.      <\/p>\n<p>P\u00ebrve\u00e7 bibliotek\u00ebs Skrifa, e cila ofron nj\u00eb API p\u00ebr qasje n\u00eb metadat\u00ebn e fonteve dhe ngarkimin e konturave t\u00eb glif\u00ebve, seti i mjeteve Fontations p\u00ebrfshin biblioteka me nivel t\u00eb ul\u00ebt p\u00ebr leximin, analizimin, ndryshimin dhe krijimin e t\u00eb dh\u00ebnave t\u00eb fonteve n\u00eb formatin OpenType. Nga ana e saj, Fontations \u00ebsht\u00eb nj\u00eb pjes\u00eb e projektit Oxidize, i krijuar p\u00ebr t\u00eb transferuar utilitetet dhe bibliotekat p\u00ebr pun\u00ebn me tekstin dhe fontet nga komponent\u00ebt n\u00eb gjuh\u00ebt Python (fonttools, fontmake, nanoemoji) dhe C++ (HarfBuzz, FreeType) n\u00eb zbatime t\u00eb reja, t\u00eb shkruara n\u00eb Rust.        <\/p>\n<p>Zhvillimi i komponent\u00ebve n\u00eb Rust filloi p\u00ebr shkak t\u00eb efikasitetit t\u00eb pamjaftuesh\u00ebm n\u00eb identifikimin e gabimeve p\u00ebrmes testeve fuzzing, pasi formatet e fonteve jan\u00eb shum\u00eb t\u00eb komplikuara p\u00ebr t\u00eb mbuluar t\u00eb gjitha kombinacionet e mundshme. P\u00ebr shembull, jav\u00ebn e kaluar n\u00eb FreeType u identifikua nj\u00eb ran\u00eb kritike q\u00eb lejonte ekzekutimin e kodit gjat\u00eb p\u00ebrpunimit t\u00eb fonteve t\u00eb dizajnuara posa\u00e7\u00ebrisht, p\u00ebrmes mbinxehjes s\u00eb atij bufferi. P\u00ebrve\u00e7 motorit FreeType, problemet me sigurin\u00eb mund t\u00eb krijohen edhe nga var\u00ebsit\u00eb q\u00eb p\u00ebrdoren n\u00eb t\u00eb, si bzip2, libpng dhe zlib.      <\/p>\n<p>P\u00ebrdorimi i Rust ka lejuar nj\u00eb reduktim t\u00eb ndjesh\u00ebm t\u00eb probabilitetit t\u00eb shfaqjes s\u00eb problemeve me memorien, ka rritur cil\u00ebsin\u00eb e kodit, ka ulur koh\u00ebn e nevojshme p\u00ebr t\u00eb zgjidhur problemet e siguris\u00eb dhe ka p\u00ebrshpejtuar p\u00ebrmir\u00ebsimet n\u00eb funksionalitetin e Chrome-it lidhur me fontet. Sipas statistikave nga Google dhe Microsoft, rreth 70% e dob\u00ebsive t\u00eb rrezikshme shkaktohen nga problemet me memorien, t\u00eb cilat mund t\u00eb shmangen duke p\u00ebrdorur gjuh\u00ebn Rust pa bloket unsafe.     <\/p>\n<p>P\u00ebr shembull, p\u00ebrdorimi i Rust do t\u00eb shmangte problemet e m\u00ebparshme t\u00eb identifikuara n\u00eb kodin e FreeType, t\u00eb lidhura me qasjen n\u00eb zona memorie t\u00eb lira, tejkalimin e kufijve t\u00eb buffer-it, qasjen n\u00eb array pa verifikimin e indekseve, mbushjet e numrave t\u00eb plot\u00eb, p\u00ebrdorimin e pap\u00ebrshtatsh\u00ebm t\u00eb zonave memorie t\u00eb pa inicializuara dhe gabimet n\u00eb shnd\u00ebrrim t\u00eb tipave.<br \/>\n<br \/>Burimi: <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.2 - 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\/sq\/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\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\/sq\/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\udd47Shfletuesi Chrome \u00ebsht\u00eb migrim n\u00eb motorin e fonteve Skrifa, i shkruar n\u00eb Rust | ProHoster","description":"Kompania Google ka migruar shfletuesin Chrome n\u00eb bibliotek\u00ebn Skrifa, e shkruar n\u00eb gjuh\u00ebn Rust dhe q\u00eb ofron mund\u00ebsi p\u00ebr p\u00ebrpunimin e fonteve n\u00eb formatin OpenType.","canonical_url":"https:\/\/prohoster.info\/sq\/blog\/news\/brauzer-chrome-perevedyon-na-shriftovoj-dvizhok-skrifa-napisannyj-na-rust","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/122675","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=122675"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/122675\/revisions"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=122675"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=122675"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=122675"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}