Página 1 de 1
Incluir fonte de letra no aplicativo
Enviado: 19 Jan 2018 23:46
por JoséQuintas
Tem como incluir fonte de letra no aplicativo?
Esta segunda tela está bem mais legível que a primeira.
Trata-se de um fonte não disponível no Windows.
Como poderia ser feito pra não precisar instalar no Windows?
Incluir fonte de letra no aplicativo
Enviado: 20 Jan 2018 00:59
por Claudio Soto
En C con:
char * Filename = hb_parc(1);
AddFontResourceEx( Filename, FR_PRIVATE, NULL );
ver:
https://msdn.microsoft.com/en-us/librar ... s.85).aspx
Incluir fonte de letra no aplicativo
Enviado: 20 Jan 2018 08:02
por JoséQuintas
Encontrei outra mais legal: AddFontMemResourceEx()
https://msdn.microsoft.com/pt-br/librar ... s.85).aspx
Todas juntas:
Código: Selecionar todos
FUNCTION AddFontResource( cFileName )
RETURN CallDll( "gdi32.dll", "AddFontResourceA", cFileName )
FUNCTION RemoveFontResource( cFileName )
RETURN CallDll( "gdi32.dll", "RemoveFontResourceA", cFileName )
FUNCTION AddFontFromMem( cFontTxt )
RETURN CallDll( "gdi32.dll", "AddFontMemResourceEx", @cFontTxt, Len( cFontTxt ), 0, 1 )
Incluir fonte de letra no aplicativo
Enviado: 20 Jan 2018 15:57
por Toledo
Amigos, no Harbour 3.2 ou 3.4 tem a função WAPI_AddFontResourceEx().
Neste tópico tem um exemplo de uso:
https://pctoledo.org/forum/viewtopic.php?p=90769
Abraços,
Incluir fonte de letra no aplicativo
Enviado: 20 Jan 2018 16:41
por JoséQuintas
Realmente.... mas usei a opção que mencionei, que achei muuuuuito melhor, por embutir os fontes dentro do EXE.
hbmk2 -find addfont
hbwin.hbc (installed):
wapi_AddFontMemResourceEx()
wapi_AddFontResource()
wapi_AddFontResourceEx()
addons\sefazclass\josequintas.hbc (not installed):
addfontfrommem()
Agora só remover as funções que criei, que já existiam..... rs
Por enquanto ficou assim:
Código: Selecionar todos
// FUNCTION AddFontResource( cFileName ); RETURN CallDll( "gdi32.dll", "AddFontResourceA", cFileName )
// FUNCTION RemoveFontResource( cFileName ); RETURN CallDll( "gdi32.dll", "RemoveFontResourceA", cFileName )
FUNCTION AddExtraFonts()
AddFontFromMem( FontOfficeCode() )
AddFontFromMem( FontStop() )
RETURN NIL
FUNCTION AddFontFromMem( cFontTxt )
RETURN CallDll( "gdi32.dll", "AddFontMemResourceEx", @cFontTxt, Len( cFontTxt ), 0, 1 )
FUNCTION FontOfficeCode()
#pragma __binarystreaminclude "..\resource\officecodepro-regular.ttf" | RETURN %s
FUNCTION FontStop()
#pragma __binarystreaminclude "..\resource\stopn.ttf" | RETURN %s
Incluir fonte de letra no aplicativo
Enviado: 20 Jan 2018 16:51
por JoséQuintas
Nem alterou muito o fonte....
Troquei isto: RETURN CallDll( "gdi32.dll", "AddFontMemResourceEx", @cFontTxt, Len( cFontTxt ), 0, 1 )
Por isto: RETURN wapi_AddFontMemResourceEx( @cFontTxt, Len( cFontTxt ), 0, 1 )
Funcionou também.
Incluir fonte de letra no aplicativo
Enviado: 20 Jan 2018 16:55
por JoséQuintas
Comentário final:
A que usei não tem no Harbour 3.2, só no Harbour 3.4
Mas tá fácil adicionar, como pode ser visto no post anterior.