Clipper On Line • Ver Tópico - Incluir fonte de letra no aplicativo

Incluir fonte de letra no aplicativo

Projeto Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

 

Incluir fonte de letra no aplicativo

Mensagempor JoséQuintas » 19 Jan 2018 22:46

Tem como incluir fonte de letra no aplicativo?

menuwvg.png


menu3.png


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?
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18150
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Incluir fonte de letra no aplicativo

Mensagempor Claudio Soto » 19 Jan 2018 23:59

En C con:

char * Filename = hb_parc(1);
AddFontResourceEx( Filename, FR_PRIVATE, NULL );

ver: https://msdn.microsoft.com/en-us/library/windows/desktop/dd183327(v=vs.85).aspx
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

Incluir fonte de letra no aplicativo

Mensagempor JoséQuintas » 20 Jan 2018 07:02

Encontrei outra mais legal: AddFontMemResourceEx()

https://msdn.microsoft.com/pt-br/library/windows/desktop/dd183325(v=vs.85).aspx

Todas juntas:

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 )
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18150
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Incluir fonte de letra no aplicativo

Mensagempor Toledo » 20 Jan 2018 14:57

Amigos, no Harbour 3.2 ou 3.4 tem a função WAPI_AddFontResourceEx().

Neste tópico tem um exemplo de uso:

http://www.pctoledo.com.br/forum/viewtopic.php?p=90769

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Incluir fonte de letra no aplicativo

Mensagempor JoséQuintas » 20 Jan 2018 15:41

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:

// 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
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18150
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Incluir fonte de letra no aplicativo

Mensagempor JoséQuintas » 20 Jan 2018 15:51

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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18150
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes

Incluir fonte de letra no aplicativo

Mensagempor JoséQuintas » 20 Jan 2018 15:55

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.
José M. C. Quintas
Harbour 3.2, mingw, gtwvg, multithread, dbfcdx, ADO+MySql, PNotepad
"The world is full of kings and queens, who blind our eyes and steal our dreams Its Heaven and Hell"

https://github.com/JoseQuintas/
Avatar de usuário

JoséQuintas
Membro Master

Membro Master
 
Mensagens: 18150
Data de registro: 26 Fev 2007 11:59
Cidade/Estado: São Paulo-SP
Curtiu: 15 vezes
Mens.Curtidas: 1215 vezes




Retornar para Harbour

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 5 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro