{"version":"1.0","provider_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","provider_url":"https:\/\/fatihsoysal.com\/blog","author_name":"Fatih Soysal","author_url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/","title":"SFML ile Metin \u015eekillendirme: Geli\u015ftirme G\u00fcnl\u00fc\u011f\u00fc","type":"rich","width":600,"height":338,"html":"<blockquote class=\"wp-embedded-content\" data-secret=\"Dq1LLCzIxo\"><a href=\"https:\/\/fatihsoysal.com\/blog\/sfml-ile-metin-sekillendirme-gelistirme-gunlugu\/\">SFML ile Metin \u015eekillendirme: Geli\u015ftirme G\u00fcnl\u00fc\u011f\u00fc<\/a><\/blockquote><iframe sandbox=\"allow-scripts\" security=\"restricted\" src=\"https:\/\/fatihsoysal.com\/blog\/sfml-ile-metin-sekillendirme-gelistirme-gunlugu\/embed\/#?secret=Dq1LLCzIxo\" width=\"600\" height=\"338\" title=\"&#8220;SFML ile Metin \u015eekillendirme: Geli\u015ftirme G\u00fcnl\u00fc\u011f\u00fc&#8221; &#8212; Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" data-secret=\"Dq1LLCzIxo\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\" class=\"wp-embedded-content\"><\/iframe><script>\n\/*! This file is auto-generated *\/\n!function(d,l){\"use strict\";l.querySelector&&d.addEventListener&&\"undefined\"!=typeof URL&&(d.wp=d.wp||{},d.wp.receiveEmbedMessage||(d.wp.receiveEmbedMessage=function(e){var t=e.data;if((t||t.secret||t.message||t.value)&&!\/[^a-zA-Z0-9]\/.test(t.secret)){for(var s,r,n,a=l.querySelectorAll('iframe[data-secret=\"'+t.secret+'\"]'),o=l.querySelectorAll('blockquote[data-secret=\"'+t.secret+'\"]'),c=new RegExp(\"^https?:$\",\"i\"),i=0;i<o.length;i++)o[i].style.display=\"none\";for(i=0;i<a.length;i++)s=a[i],e.source===s.contentWindow&&(s.removeAttribute(\"style\"),\"height\"===t.message?(1e3<(r=parseInt(t.value,10))?r=1e3:~~r<200&&(r=200),s.height=r):\"link\"===t.message&&(r=new URL(s.getAttribute(\"src\")),n=new URL(t.value),c.test(n.protocol))&&n.host===r.host&&l.activeElement===s&&(d.top.location.href=t.value))}},d.addEventListener(\"message\",d.wp.receiveEmbedMessage,!1),l.addEventListener(\"DOMContentLoaded\",function(){for(var e,t,s=l.querySelectorAll(\"iframe.wp-embedded-content\"),r=0;r<s.length;r++)(t=(e=s[r]).getAttribute(\"data-secret\"))||(t=Math.random().toString(36).substring(2,12),e.src+=\"#?secret=\"+t,e.setAttribute(\"data-secret\",t)),e.contentWindow.postMessage({message:\"ready\",secret:t},\"*\")},!1)))}(window,document);\n<\/script>\n","description":"Merhaba! Fatih Soysal burada. Bu yaz\u0131da, 2025 y\u0131l\u0131n\u0131n 6 Haziran tarihli geli\u015ftirme g\u00fcnl\u00fc\u011f\u00fcm\u00fc (DevLog 20250611) sizlerle payla\u015faca\u011f\u0131m. Konumuz ise SFML k\u00fct\u00fcphanesi ile metin \u015fekillendirme (text shaping). \u00d6zellikle T\u00fcrk\u00e7e gibi karma\u015f\u0131k yaz\u0131 sistemlerini desteklemek i\u00e7in SFML'nin sundu\u011fu olanaklar\u0131 ve kar\u015f\u0131la\u015ft\u0131\u011f\u0131m zorluklar\u0131 detayl\u0131ca ele alaca\u011f\u0131m. Bu s\u00fcre\u00e7te edindi\u011fim tecr\u00fcbeleri payla\u015farak, benzer projelerde \u00e7al\u0131\u015fanlara yard\u0131mc\u0131 olmay\u0131 umuyorum. \u00d6ncelikle, SFML'nin metin i\u015fleme yeteneklerinin s\u0131n\u0131rl\u0131 oldu\u011funu belirtmeliyim; bu nedenle geli\u015fmi\u015f \u015fekillendirme i\u00e7in ek \u00e7\u00f6z\u00fcmler aramak zorunda kald\u0131m."}