color emojis windows 10/11

Share your advanced PureBasic knowledge/code with the community.
User avatar
idle
Always Here
Always Here
Posts: 5836
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

color emojis windows 10/11

Post by idle »

If you want to use emojis on windows Scintilla supports color emoji's with
ScintillaSendMessage(0,#SCI_SETTECHNOLOGY, #SC_TECHNOLOGY_DIRECTWRITE)

And if you want to make images you can easily copy them by right clicking and saving the link from
https://www.unicode.org/emoji/charts/fu ... -list.html
or
https://atomicwebserver.com/emoji-list.html
remove the "Data:image/png;base64,"

and if you want to create icons
https://www.purebasic.fr/english/viewtopic.php?t=83947

Code: Select all


UsePNGImageDecoder()

Procedure CatchEmoji(name.s) 
  
  Protected dat.s,*buf   
  
  Select name 
    Case "pmsl" 
      dat = PeekS(?pmsl) 
    Case "loveit" 
      dat = PeekS(?loveit) 
    Case "tounge" 
      dat = PeekS(?tounge) 
  EndSelect     
  
  len = Len(dat) 
  *buf = AllocateMemory(len)
  Base64Decoder(dat,*buf,len) 
  img = CatchImage(#PB_Any,*buf) 
  FreeMemory(*buf) 
  SetClipboardImage(img) 
  
  DataSection  
    loveit:
    Data.s "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"
    pmsl:
    Data.s "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"
    tounge: 
    Data.s "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"
  EndDataSection 
  
  ProcedureReturn img 
  
EndProcedure   


Procedure.s _Chr(v.i) ;return a proper surrogate pair for unicode values outside the BMP (Basic Multilingual Plane)
  
  Protected chr.q
  If v < $10000
    ProcedureReturn Chr(v)
  Else
    chr = (v&$3FF)<<16 | (v-$10000)>>10 | $DC00D800
    ProcedureReturn PeekS(@chr, 2, #PB_Unicode)
  EndIf
  
EndProcedure

If OpenWindow(0, 0, 0, 600, 400, "ScintillaGadget", #PB_Window_SystemMenu | #PB_Window_ScreenCentered)
  
    
  ScintillaGadget(0, 10, 10, 580, 180, 0)
    
  ScintillaSendMessage(0,#SCI_SETTECHNOLOGY, #SC_TECHNOLOGY_DIRECTWRITE) ;<---this does the job
  
  ; Output set to red color
  ScintillaSendMessage(0, #SCI_STYLESETFORE, 0, RGB(255, 0, 0))
  ScintillaSendMessage(Gadget, #SCI_STYLESETFONT,#STYLE_DEFAULT, @"Segoe UI")      
  ScintillaSendMessage(Gadget, #SCI_STYLESETSIZE, #STYLE_DEFAULT, 18)                     
    
  ; Set the initial text to the ScintillaGadget
  *Text=UTF8("This is a simple ScintillaGadget with text..." + _Chr($1f60e))
  ScintillaSendMessage(0, #SCI_SETTEXT, 0, *Text)
  FreeMemory(*Text) ; The buffer made by UTF8() has to be freed, to avoid memory leak
  
  ; Adding a second line of text with linebreak before
  Text$ = Chr(10) + "Second line"
  *Text=UTF8(Text$)
  ScintillaSendMessage(0, #SCI_APPENDTEXT, Len(Text$), *Text)
  FreeMemory(*Text)
  
  ImageGadget(1,10,190,256,256,ImageID(CatchEmoji("pmsl")))
  ImageGadget(2,266,190,256,256,ImageID(CatchEmoji("loveit")))
  ImageGadget(3,522,190,256,256,ImageID(CatchEmoji("tounge")))
  
  
  Repeat : Until WaitWindowEvent() = #PB_Event_CloseWindow
EndIf

CatchEmoji("loveit") 

User avatar
Kwai chang caine
Always Here
Always Here
Posts: 5494
Joined: Sun Nov 05, 2006 11:42 pm
Location: Lyon - France

Re: color emojis windows 10/11

Post by Kwai chang caine »

Works nice here
Very cool, thanks for sharing 8)
ImageThe happiness is a road...
Not a destination
MinerDac
User
User
Posts: 11
Joined: Sat Jul 13, 2024 12:02 pm

Re: color emojis windows 10/11

Post by MinerDac »

This is nice. Thank You.

I have a couple of questions though.

How do you generate the information in the data section?

Is this for only emojis that are already present in the Windows 10/11 OS? For example, Windows does not have emoji's for country flags so how would you generate an emoji for, say, a US flag that uses Unicodecode point $1F1E6 $1F1EB ? I mean, its cool to be able to show smiley faces and cute emojis but if there is a situation where Windows does not have an emoji for something, or you custom create an emoji, needed for a business related app then how would those be generated and displayed?

I guess I would need a font with the missing emojis glyphs/coloremoji capability in it to be able to display emojis that are not in Windows
User avatar
holzhacker
Enthusiast
Enthusiast
Posts: 125
Joined: Mon Mar 08, 2010 9:14 pm
Location: "Mens sana in corpore sano"
Contact:

Re: color emojis windows 10/11

Post by holzhacker »

Works in Ubuntu 24.04 LTS with PB 6.10
Greetings and thanks!

Romerio Medeiros
romerio@gmail.com
benubi
Enthusiast
Enthusiast
Posts: 215
Joined: Tue Mar 29, 2005 4:01 pm

Re: color emojis windows 10/11

Post by benubi »

I have a Unicode/Emoji related question.

Is there a range or "marker" for the colored emojis?

I am asking because some symbols are 1 color monochrome, but some emojis are apparently explicitly in color.

Can you predict if a string's character (or char combo) is monochrome vs. color?
User avatar
idle
Always Here
Always Here
Posts: 5836
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

Re: color emojis windows 10/11

Post by idle »

MinerDac wrote: Thu Jul 25, 2024 11:30 am This is nice. Thank You.

I have a couple of questions though.

How do you generate the information in the data section?

Is this for only emojis that are already present in the Windows 10/11 OS? For example, Windows does not have emoji's for country flags so how would you generate an emoji for, say, a US flag that uses Unicodecode point $1F1E6 $1F1EB ? I mean, its cool to be able to show smiley faces and cute emojis but if there is a situation where Windows does not have an emoji for something, or you custom create an emoji, needed for a business related app then how would those be generated and displayed?

I guess I would need a font with the missing emojis glyphs/coloremoji capability in it to be able to display emojis that are not in Windows
see the links in my top post, the emoji page is 39mb so it will probably take a while to load
then just right click on an image and copy the link which should be base64 encoded png

Windows doesn't have colored emoji font that I'm aware of only monochrome
and the flags don't seem to work in scintilla which could be any number of reasons
benubi wrote: Thu Jul 25, 2024 5:15 pm I have a Unicode/Emoji related question.

Is there a range or "marker" for the colored emojis?

I am asking because some symbols are 1 color monochrome, but some emojis are apparently explicitly in color.

Can you predict if a string's character (or char combo) is monochrome vs. color?


Is this in the scintilla gadget?
Scintilla will only support common color emojis, I don't know what they are or even if its documented in scintilla docs
boddhi
Enthusiast
Enthusiast
Posts: 524
Joined: Mon Nov 15, 2010 9:53 pm

Re: color emojis windows 10/11

Post by boddhi »

Hi,
benubi wrote: I am asking because some symbols are 1 color monochrome, but some emojis are apparently explicitly in color.

Can you predict if a string's character (or char combo) is monochrome vs. color?
It depends on which font and application you use.
There are indeed colored vector fonts with colored emojis, but PB doesn't support them at the moment.

Oupps, idle, you've just replied before me :wink:
If my English syntax and lexicon are incorrect, please bear with Google translate and DeepL. They rarely agree with each other!
Except on this sentence...
User avatar
idle
Always Here
Always Here
Posts: 5836
Joined: Fri Sep 21, 2007 5:52 am
Location: New Zealand

Re: color emojis windows 10/11

Post by idle »

boddhi wrote: Thu Jul 25, 2024 11:48 pm Hi,
benubi wrote: I am asking because some symbols are 1 color monochrome, but some emojis are apparently explicitly in color.

Can you predict if a string's character (or char combo) is monochrome vs. color?
It depends on which font and application you use.
There are indeed colored vector fonts with colored emojis, but PB doesn't support them at the moment.

Oupps, idle, you've just replied before me :wink:
yes you are right, there are colored fonts but it's based on the gadgets and pb doesn't support it.
Scintilla probably just embeds the common emojis for smiles.

https://learn.microsoft.com/en-us/typog ... e-ui-emoji
boddhi
Enthusiast
Enthusiast
Posts: 524
Joined: Mon Nov 15, 2010 9:53 pm

Re: color emojis windows 10/11

Post by boddhi »

idle wrote: [...] pb doesn't support it.
boddhi wrote: [...] but PB doesn't support them at the moment.
idle wrote: Scintilla probably just embeds the common emojis for smiles.
I think the apps that support colored emojis (not colored fonts) each have their own graphic design for these emojis.
That's why they may be graphically different depending on the tool, or some may not be supported at all.
Like you said for Scintilla, only commons :wink:
If my English syntax and lexicon are incorrect, please bear with Google translate and DeepL. They rarely agree with each other!
Except on this sentence...
wombats
Enthusiast
Enthusiast
Posts: 716
Joined: Thu Dec 29, 2011 5:03 pm

Re: color emojis windows 10/11

Post by wombats »

Works on macOS, too:
Image
Post Reply