Comparação da API de texto do Win32
Para os desenvolvedores que estão migrando seu código de aplicativo Win32, a tabela a seguir lista as APIs de texto do Win32 e o equivalente aproximado em DirectWrite.
Chamadas de texto GDI | Descrição | Equivalente DirectWrite |
---|---|---|
AddFontMemResourceEx | Adiciona uma fonte incorporada à tabela de fontes do sistema. | CreateCustomFontFileReference + CreateCustomFontCollection |
AddFontResource | Adiciona um recurso de fonte à tabela de fontes do sistema. | Não há equivalente. AddFontResource adiciona à coleção de fontes do sistema como parte da etapa de instalação da fonte GDI. O DirectWrite preenche a coleção de fontes do sistema antecipadamente e monitora automaticamente as atualizações para ela, portanto, nenhuma instalação é necessária. |
AddFontResourceEx | Adiciona uma fonte privada ou não enumerável à tabela de fontes do sistema. | O mesmo que acima |
CreateFont | Cria uma fonte lógica. | Em vez de fonte lógica, os aplicativos podem especificar um conjunto de propriedades de fonte (por exemplo, nome da família, peso, estilo, alongamento e tamanho) para criar um IDWriteTextFormat. Somente aplicativos que exigem enumeração da fonte acessarão um IDWriteFont por meio do IDWriteFontCollection. |
CreateFontIndirect | Cria uma fonte lógica a partir de uma estrutura. | O mesmo que acima |
CreateFontIndirectEx | Cria uma fonte lógica a partir de uma estrutura. | O mesmo que acima |
DrawText | Desenha texto formatado em um retângulo. | IDWriteTextLayout::D raw |
DrawTextEx | Desenha texto formatado em um retângulo. | IDWriteTextLayout::D raw |
EnumFontFamExProc | Uma função de retorno de chamada definida pelo aplicativo usada com EnumFontFamiliesEx para processar fontes. | interface IDWriteFontCollection, através IDWriteFactory::GetSystemFontCollection |
EnumFontFamiliesEx | Enumera todas as fontes no sistema com determinadas características. | interface IDWriteFontCollection, através IDWriteFactory::GetSystemFontCollection |
ExtTextOut | Desenha uma cadeia de caracteres. | IDWriteTextLayout::D raw ou IDWriteRenderBitmapTarget::D rawGlyphRun |
GetAspectRatioFilterEx | Obtém a configuração para o filtro de proporção de aspeto. | N/A |
GetCharABCWidths | Obtém as larguras de caracteres consecutivos da fonte TrueType. | IDWriteFontFace::GetDesignGlyphMetrics |
GetCharABCWidthsFloat | Obtém as larguras de caracteres consecutivos da fonte atual. | IDWriteFontFace::GetDesignGlyphMetrics |
GetCharABCWidthsI | Obtém as larguras de índices de glifos consecutivos ou uma matriz de índices de glifos da fonte TrueType. | IDWriteFontFace::GetDesignGlyphMetrics |
GetCharacterPlacement | Obtém informações sobre uma cadeia de caracteres. | IDWriteTextAnalyzer |
GetCharWidth32 | Obtém as larguras de caracteres consecutivos da fonte atual. | IDWriteFontFace::GetDesignGlyphMetrics ou IDWriteTextLayout::GetMetrics |
GetCharWidthFloat | Obtém as larguras fracionárias de caracteres consecutivos da fonte atual. | IDWriteFontFace::GetDesignGlyphMetrics ou IDWriteTextLayout::GetMetrics |
GetCharWidthI | Obtém as larguras de índices de glifos consecutivos ou uma matriz de índices de glifos da fonte atual. | IDWriteFontFace::GetDesignGlyphMetrics ou IDWriteTextLayout::GetMetrics |
GetFontData | Obtém dados de métrica para uma fonte TrueType. | IDWriteFontFace::TryGetFontTable |
GetFontLanguageInfo | Retorna informações sobre a fonte selecionada para um contexto de exibição. | N/A |
GetFontUnicodeRanges | Informa quais caracteres Unicode são suportados por uma fonte. | loop de IDWriteFont::HasCharacter |
GetGlyphIndices | Traduz uma cadeia de caracteres em uma matriz de índices de glifos. | IDWriteFontFace::GetGlyphIndices |
GetGlyphOutline | Obtém o contorno ou bitmap para um caractere na fonte TrueType. | métricas de glifo -- IDWriteFontFace::GetDesignGlyphMetrics, informações reais da estrutura de tópicos --IDwriteFontFace::GetGlyphRunOutline, se você quiser bitmaps de glifo, IDWriteRenderBitmapRenderTarget::D rawGlyphRun |
GetKerningPairs | Obtém os pares de kerning de caracteres para uma fonte. | Kerning permitido através de propriedades tipográficas do layout (DirectWrite faz kerning em si, portanto, não há nenhum método para retornar essas informações). |
GetOutlineTextMetrics | Obtém métricas de texto para fontes TrueType. | IDWriteFontFace::GetMetrics |
GetRasterizerCaps | Informa se as fontes TrueType estão instaladas. | (As fontes TrueType são instaladas no Windows Vista e no Windows 7 por padrão.) |
GetTabbedTextExtent | Calcula a largura e a altura de uma cadeia de caracteres, incluindo tabulações. | IDWriteTextLayout::GetMetrics |
GetTextAlign | Obtém a configuração de alinhamento de texto para um contexto de dispositivo. | IDWriteTextFormat::GetTextAlignment |
GetTextCharacterExtra | Obtém o espaçamento entre caracteres atual para um contexto de dispositivo. | N/A |
GetTextColor | Obtém a cor do texto para um contexto de dispositivo. | N/A. (DirectWrite é independente de renderização e, portanto, não sabe a cor. Os aplicativos precisam acompanhar isso por conta própria.) |
GetTextExtentExPoint | Obtém o número de caracteres em uma cadeia de caracteres que caberá dentro de um espaço. | IDWriteTextLayout::GetMetrics |
GetTextExtentExPointI | Obtém o número de índices de glifos que caberão dentro de um espaço. | IDWriteTextLayout::GetMetrics |
GetTextExtentPoint32 | Calcula a largura e a altura de uma cadeia de caracteres de texto. | IDWriteTextLayout::GetMetrics |
GetTextExtentPointI | Calcula a largura e a altura de uma matriz de índices de glifos. | IDWriteTextLayout::GetMetrics |
GetTextFace | Obtém o nome da fonte selecionada em um contexto de dispositivo. | IDWriteFont::GetFaceNames (Devolve todos os nomes) |
GetTextMetrics | Preenche um buffer com as métricas de uma fonte. | IDWriteFontFace::GetMetrics |
PolyTextOut | Desenha várias cadeias de caracteres usando a fonte e as cores do texto em um contexto de dispositivo. | N/A; Criar vários objetos de layout |
RemoveFontMemResourceEx | Remove uma fonte cuja fonte foi incorporada em um documento da tabela de fontes do sistema. | IUnknown::Release no objeto associado |
RemoveFontResource | Remove as fontes em um arquivo da tabela de fontes do sistema | N/A |
RemoveFontResourceEx | Remove uma fonte privada ou não enumerável da tabela de fontes do sistema. | N/A |
SetMapperFlags | Altera o algoritmo usado para mapear fontes lógicas para fontes físicas. | N/A |
SetTextAlign | Define os sinalizadores de alinhamento de texto para um contexto de dispositivo. | IDWriteTextFormat::SetTextAlignment |
SetTextCharacterExtra | Define o espaçamento entre caracteres. | N/A |
SetTextColor | Define a cor do texto para um contexto de dispositivo. | Um aplicativo tem que se encarregar de especificar a cor em uma das chamadas Draw. |
SetTextJustification | Especifica a quantidade de espaço que o sistema deve adicionar aos caracteres de quebra em uma cadeia de caracteres. | N/A. A justificação e o espaçamento entre caracteres não são suportados nesta versão. |
TabbedTextOut | Grava uma cadeia de caracteres em um local, expandindo as guias para valores especificados. | IDWriteTextLayout::D raw |
TextOut | Grava uma cadeia de caracteres em um local | IDWriteTextLayout::D raw |