directwrite

    0熱度

    2回答

    對於特定於Windows的2D API,有哪些良好的跨平臺替代方案?我正在尋找一個API來呈現簡單的幾何對象,以及一個API,用於呈現帶有子像素反鋸齒(ClearType)和OpenType支持的文本,特別支持提示。

    0熱度

    1回答

    基本上,給出下面的測試代碼: CComPtr<IDWriteTextLayout> layout; wstring text2 = L"Here is some text."; this->currentLevelText->Formatting->TextFactory->CreateTextLayout(text2.c_str(), text2.length(), this->matrix

    2熱度

    1回答

    我使用的DrawText目前正在起草中的DirectWrite文本。 在我切換到DrawTextLayout我注意到,別名字母的呈現沒有很好做。 有沒有辦法來改變測量模式就像我們可以在DrawText的做DWRITE_MEASURING_MODE_GDI_CLASSIC 頂部繪製文本與DrawText的(和DWRITE_MEASURING_MODE_GDI_CLASSIC),底部有DrawText

    2熱度

    1回答

    我目前正在將舊組件的繪製代碼從GDI + UniScribe替換爲Direct2D和DirectWrite(後繼)。 到目前爲止,過渡很簡單,因爲大部分時間我需要做的是將對Canvas(類TCanvas)的調用替換爲自定義的FDirect2DCanvas實例(來自Direct2D單元的TDirect2DCanvas類)。 不幸的是,當試圖從TImageList實例繪製字形到FDirect2DCan

    7熱度

    2回答

    完全披露:我正在研究libui GUI框架的文本API。這包括Windows上的DirectWrite,OS X上的Core Text以及其他Unix上的Pango(使用HarfBuzz進行OpenType整形)。我想指定的一種文本格式屬性是要使用的OpenType功能的集合,這三個屬性都提供了這些功能; DirectWrite的是IDWriteTypography。 現在,當您使用這些庫繪製一些

    1熱度

    2回答

    我想禁用連字符,默認情況下,連字符至少在我使用的字體(即Calibri)中是可用的。看起來,這樣做的方法是使用IDWriteTextLayout::SetTypography將IDWriteTypography對象設置爲包含各種連字相關字體特徵的佈局,值爲零以禁用它們。這可以禁用連字,但它也會影響(禁用)其他我不想混淆的字體設置,例如字距調整。 經過一番實驗後,事實證明,我可以通過設置一個空的ID

    0熱度

    2回答

    我正在使用直接2D和直接寫入自定義編輯框。繪畫的東西(盒子)由直接的2D完成。我從WM_CHAR消息中獲取輸入並將其附加到一個字符串。該字符串被寫入框中。現在的問題是,只要文本輸入超出文本框的長度,就會自動向下滾動,現在輸入的文本在文本框中不可見。所以如何滾動文本,以便它始終在文本框中顯示。

    0熱度

    1回答

    IDWriteFontFace.GetFiles()返回字體文件的集合。這使我感到困惑,因爲我不知道任何字體格式可以跨多個文件分割單個字體。 (反向情況並非如此;一個字體集合文件可以保存多個字體的面。) 事實上,針對我的計算機上安裝的字體的測試我觀察到,這種方法總是返回包含恰好一個文件的集合。 問:是否有情況IDWriteFontFace.GetFiles()返回多個文件?

    1熱度

    1回答

    我用下面的代碼創建一個IDWriteTextLayout對象, hr = g_pDWriteFactory->CreateTextLayout(text, textLength, *g_pTextFormat, 200000000, 200000000, g_pTextLayout); 然後得到通過文本的度量文本寬度, DWRITE_TEXT_METRICS dtm; pTextLa

    0熱度

    1回答

    每當我使用文本佈局對象渲染文本時,顯然文本的實際寬度與佈局的寬度不同,具體取決於文本環繞中的啓用選項。 我想知道是否有無論如何我可以做的寬度和佈局的寬度設置是一樣的嗎? 因此,當我在文本佈局對象的創建中傳遞寬度和高度時,我希望它能呈現我提供的確切尺寸的文本。