mirror of
https://codeberg.org/cage/tinmop/
synced 2025-02-18 08:20:35 +01:00
- added 'starts-with-emoji-p'.
This commit is contained in:
parent
87a87296f6
commit
09f35f4989
@ -61,7 +61,7 @@
|
|||||||
;;;; expansion of (gen-matcher-sequences)
|
;;;; expansion of (gen-matcher-sequences)
|
||||||
|
|
||||||
(defun emoji-sequences-p (chars)
|
(defun emoji-sequences-p (chars)
|
||||||
(find-if (lambda (a) (match-codepoint-p chars a))
|
(member-if (lambda (a) (match-codepoint-p chars a))
|
||||||
'((#\U1F9DD #\EMOJI_MODIFIER_FITZPATRICK_TYPE-6)
|
'((#\U1F9DD #\EMOJI_MODIFIER_FITZPATRICK_TYPE-6)
|
||||||
(#\U1F9DD #\EMOJI_MODIFIER_FITZPATRICK_TYPE-5)
|
(#\U1F9DD #\EMOJI_MODIFIER_FITZPATRICK_TYPE-5)
|
||||||
(#\U1F9DD #\EMOJI_MODIFIER_FITZPATRICK_TYPE-4)
|
(#\U1F9DD #\EMOJI_MODIFIER_FITZPATRICK_TYPE-4)
|
||||||
@ -1817,7 +1817,7 @@
|
|||||||
;;;; expansion of (gen-matcher-zwj-sequences)
|
;;;; expansion of (gen-matcher-zwj-sequences)
|
||||||
|
|
||||||
(defun emoji-zwj-sequences-p (chars)
|
(defun emoji-zwj-sequences-p (chars)
|
||||||
(find-if (lambda (a) (match-codepoint-p chars a))
|
(member-if (lambda (a) (match-codepoint-p chars a))
|
||||||
'((#\U1F9D1 #\ZERO_WIDTH_JOINER #\CHRISTMAS_TREE)
|
'((#\U1F9D1 #\ZERO_WIDTH_JOINER #\CHRISTMAS_TREE)
|
||||||
(#\FACE_WITHOUT_MOUTH #\ZERO_WIDTH_JOINER #\FOG
|
(#\FACE_WITHOUT_MOUTH #\ZERO_WIDTH_JOINER #\FOG
|
||||||
#\VARIATION_SELECTOR-16)
|
#\VARIATION_SELECTOR-16)
|
||||||
@ -4749,5 +4749,8 @@
|
|||||||
(defgeneric emojip (codepoints-chars))
|
(defgeneric emojip (codepoints-chars))
|
||||||
|
|
||||||
(defmethod emojip ((codepoints-chars list))
|
(defmethod emojip ((codepoints-chars list))
|
||||||
(or (emoji-zwj-sequences-p codepoints-chars)
|
(first (or (emoji-zwj-sequences-p codepoints-chars)
|
||||||
(emoji-sequences-p codepoints-chars)))
|
(emoji-sequences-p codepoints-chars))))
|
||||||
|
|
||||||
|
(defun starts-with-emoji-p (codepoints-chars)
|
||||||
|
(emojip codepoints-chars))
|
||||||
|
@ -341,12 +341,10 @@
|
|||||||
(response-body (gemini-client:slurp-gemini-url favicon-url))
|
(response-body (gemini-client:slurp-gemini-url favicon-url))
|
||||||
(favicon-list (coerce (babel:octets-to-string response-body :errorp t)
|
(favicon-list (coerce (babel:octets-to-string response-body :errorp t)
|
||||||
'list))
|
'list))
|
||||||
(non-emoji-pos (position-if (lambda (a) (not (emojip (list a))))
|
(emoji (starts-with-emoji-p favicon-list))
|
||||||
favicon-list))
|
(favicon (if emoji
|
||||||
(favicon (if non-emoji-pos
|
(coerce emoji 'string)
|
||||||
(coerce (subseq favicon-list 0 non-emoji-pos)
|
(swconf:gemini-default-favicon))))
|
||||||
'string)
|
|
||||||
(coerce favicon-list 'string))))
|
|
||||||
(setf cache (acons host favicon cache))
|
(setf cache (acons host favicon cache))
|
||||||
(fetch-favicon parsed-url)))
|
(fetch-favicon parsed-url)))
|
||||||
(swconf:gemini-default-favicon)))))))
|
(swconf:gemini-default-favicon)))))))
|
||||||
|
@ -392,7 +392,8 @@
|
|||||||
:maybe-percent-encode
|
:maybe-percent-encode
|
||||||
:display-corrupting-utf8-p
|
:display-corrupting-utf8-p
|
||||||
:remove-corrupting-utf8-chars
|
:remove-corrupting-utf8-chars
|
||||||
:emojip))
|
:emojip
|
||||||
|
:starts-with-emoji-p))
|
||||||
|
|
||||||
(defpackage :html-utils
|
(defpackage :html-utils
|
||||||
(:use
|
(:use
|
||||||
|
Loading…
x
Reference in New Issue
Block a user