فهرست منبع

update hangmangame

MX 2 سال پیش
والد
کامیت
fbc6703202

+ 1 - 1
non_catalog_apps/hangman_game/files/english.bolk

@@ -1,7 +1,7 @@
 english.dict
 8
 3
-65
+-
 41 42 43 44 45 46 47 48 49 4a 4b 4c 4d 4e 4f 50 51 52 53 54 55 56 57 58 59 5a
 Okay
 You won!

+ 1 - 1
non_catalog_apps/hangman_game/files/english.dict

@@ -2476,4 +2476,4 @@ WRESTLE
 WRIGGLE
 YAWN
 YELL
-ZOOM
+ZOOM

+ 3 - 1
non_catalog_apps/hangman_game/files/menu.txt

@@ -1,4 +1,6 @@
 English
 english.bolk
 Русский
-russian.bolk
+russian.bolk
+Español
+spanish.bolk

+ 1 - 1
non_catalog_apps/hangman_game/files/russian.bolk

@@ -1,7 +1,7 @@
 russian.dict
 8
 3
-16
++400
 410 411 412 413 414 415 416 417 418 419 41a 41b 41c 41d 41e 41f 420 421 422 423 424 425 426 427 428 429 42a 42b 42c 42d 42e 42f
 Окей
 Вы выиграли!

+ 3 - 5
non_catalog_apps/hangman_game/files/russian.dict

@@ -367,7 +367,7 @@
 # (
 #-,
 #-"
-$"
+$"
 ,/
 .(!
 /"
@@ -686,7 +686,7 @@
 ## #
 # /
 #
-#,"", 
+#,"" 
 #
 # !
 # 
@@ -1420,7 +1420,7 @@
 !#
 !,,
 !$ 
-! 
+! 
 !!&/
 !"/ ,
 ! " 
@@ -1837,7 +1837,6 @@ $./
 '
 '
 '!",
-'!",
 '!
 '!""
 '"
@@ -1877,7 +1876,6 @@ $./
 (.
 (
 ( %
-( %
 ( "+
 (!!
 ($ 

+ 8 - 0
non_catalog_apps/hangman_game/files/spanish.bolk

@@ -0,0 +1,8 @@
+spanish.dict
+8
+3
+-
+41 42 43 44 45 46 47 48 49 4a 4c 4d 4e 4f 50 51 52 53 54 55 56 58 59 5a
+Okey
+¡Has ganado!
+¡Has perdido!

+ 3226 - 0
non_catalog_apps/hangman_game/files/spanish.dict

@@ -0,0 +1,3226 @@
+ABADIADO
+ABANCALAR
+ABANDONO
+ABARLOAR
+ABASTANTE
+ABATIDA
+ABDICAR
+ABEJERO
+ABELMOSCO
+ABIA
+ABIGARRAR
+ABISMADO
+ABLENTAR
+ABOGADOR
+ABOLLAR
+ABONADORA
+ABONDOSO
+ABORUJAR
+ABOZALAR
+ABRASIVA
+ABRIGADOR
+ABROGAR
+ABSCURA
+ABSORTAR
+ABSTRACTA
+ABUCHEAR
+ABULENSE
+ABUNDAR
+ABURRIDA
+ABUSIVA
+ACABALAR
+ACAIRELAR
+ACANTO
+ACAPONADO
+ACCENDER
+ACEBEDA
+ACEDA
+ACEITAZO
+ACELAJADA
+ACEMILERO
+ACENSUAR
+ACERO
+ACEZAR
+ACHULADO
+ACIBARRAR
+ACIDALIO
+ACIJADA
+ACIPADO
+ACLARECER
+ACOCOTAR
+ACOGEDIZO
+ACOLLADOR
+ACONGOJAR
+ACORDAR
+ACORVAR
+ACREMENTE
+ACROFOBIA
+ACROTERIA
+ACTIVA
+ACTUANTE
+ACUDIDERO
+ACULADO
+ACUMULAR
+ACUSABLE
+ACUSETE
+ADAMADA
+ADAMISMO
+ADARAJA
+ADECUADA
+ADEHESAR
+ADENOMA
+ADEREZO
+ADIPSIA
+ADOBADOR
+ADOQUIER
+ADORNISTA
+ADQUIRIR
+ADREDE
+ADSCRITA
+ADUENDADA
+ADULAR
+ADURIR
+ADVENIR
+ADVERSA
+AERIFORME
+AFAMADA
+AFECTADA
+AFEITADA
+AFERRAR
+AFIJADA
+AFIRMANZA
+AFLECHADA
+AFLIGIR
+AFOGAR
+AFORADOR
+AFRA
+AFRICADO
+AFRONTADO
+AFUERA
+AGARBADA
+AGESTARSE
+AGIR
+AGLUTINAR
+AGOBIO
+AGORADORA
+AGOSTERA
+AGRADAR
+AGRAMANTE
+AGREGADA
+AGRETA
+AGRIFOLIO
+AGUACATE
+AGUADA
+AGUAGOMA
+AGUAMANOS
+AGUCIOSA
+AGUIJA
+AGUJA
+AGUOSIDAD
+AGUZADOR
+AHIJADOR
+AHINOJAR
+AHOGADIZO
+AHONDAR
+AHORMAR
+AHUECADOR
+AHUMEAR
+AJEO
+AJIMEZ
+AJOMATE
+AJOTRINO
+AJUICIAR
+AJUSTAR
+ALACET
+ALADRADA
+ALAJOR
+ALAMBRAR
+ALARGUEZ
+ALARMAR
+ALAVANCO
+ALBACORA
+ALBANECAR
+ALBARDADO
+ALBARIGO
+ALBATOZA
+ALBICANTE
+ALBOGUERA
+ALBUMEN
+ALBURNO
+ALCALDESA
+ALCANA
+ALCAPARRA
+ALCAVERA
+ALCOBILLA
+ALCUCERO
+ALDEANA
+ALEA
+ALECHIGAR
+ALEGRA
+ALEGROSA
+ALEMANA
+ALERZAL
+ALEUSERO
+ALEZNA
+ALFALFA
+ALFANJADO
+ALFARERO
+ALFERCE
+ALFINGE
+ALFONSINA
+ALGA
+ALGARAZO
+ALGARROBO
+ALGUNA
+ALHAMEL
+ALHOMBRA
+ALI
+ALIARA
+ALICIONAR
+ALIER
+ALIJADOR
+ALIOLI
+ALISMA
+ALJAMIADA
+ALJEZAR
+ALJUBA
+ALLUDEL
+ALMAGRA
+ALMAJAR
+ALMARADA
+ALMENA
+ALMIRAJE
+ALMIZQUE
+ALMOFREZ
+ALMOHAZA
+ALMONEDA
+ALMORZAR
+ALMUDADA
+ALNADO
+ALOJADA
+ALOSNA
+ALPINO
+ALQUIFOL
+ALTA
+ALTAREJO
+ALTERNADO
+ALTIVO
+ALUMBRA
+ALUMINAR
+ALUNEB
+ALVINA
+AMACIGADA
+AMAJANAR
+AMANERADA
+AMANSAR
+AMARAJE
+AMARGUERA
+AMARILLEZ
+AMARRACO
+AMASIA
+AMAUTA
+AMBARAR
+AMBIDOS
+AMBLEO
+AMELGADA
+AMENORAR
+AMETALAR
+AMIENTO
+AMITIGAR
+AMOL
+AMOLLAR
+AMORCAR
+AMORMADA
+AMORTAJAR
+AMOSCAR
+AMOTINAR
+AMUJE
+AMURAR
+ANACALA
+ANADEAR
+ANCHUELO
+ANCLOTE
+ANDABOBA
+ANDALUZ
+ANDANTINO
+ANDESITA
+ANDORRERA
+ANDRINA
+ANEMIA
+ANEXIONAR
+ANFISCIO
+ANGOSTA
+ANGUILO
+ANHIDRITA
+ANILINA
+ANIMALEJO
+ANIMOSO
+ANITO
+ANORMAL
+ANSARINA
+ANSOTANO
+ANTEFERIR
+ANTEMURO
+ANTEPAGAR
+ANTICUAR
+ANTIMONIO
+ANTIPOCAR
+ANTITRAGO
+ANTOJANZA
+ANTORCHA
+ANTUVIO
+ANUBLO
+ANULETE
+ANURO
+AOPTARSE
+APACIGUAR
+APALEO
+APANIGUAR
+APARECER
+APARTIDAR
+APASTE
+APEADERO
+APEDREADA
+APEGAR
+APELIGRAR
+APENA
+APERADOR
+APERNADOR
+APETENCIA
+APIOJARSE
+APLASTAR
+APOCADOR
+APORISMA
+APOSTEMA
+APOYAR
+APRECIO
+APRESTO
+APRIETO
+APROBANTE
+APTEZA
+APUNTADO
+APURADO
+AQUEDADOR
+AQUELARRE
+AQUESA
+AQUIETAR
+ARABIO
+ARAGONITO
+ARANDILLO
+ARATORIA
+ARBITRAJE
+ARBITRERA
+ARBOLEJO
+ARBUSTIVO
+ARCADA
+ARCAR
+ARCO
+ARDERO
+ARDILLA
+ARDURA
+ARENGA
+ARGADIJO
+ARGAYAR
+ARGENTERO
+ARGINAS
+ARGULLOSA
+ARICADO
+ARIGUE
+ARISCARSE
+ARISTOSO
+ARMADILLA
+ARMATOSTE
+ARMONIACO
+ARNASCA
+ARON
+ARPILLERA
+ARQUETIPO
+ARRAS
+ARREADOR
+ARRECHA
+ARRIBA
+ARRINCADA
+ARRISCO
+ARROLLADA
+ARROTADA
+ARRUAR
+ARRUGIA
+ARTA
+ARTIFARA
+ARTILLADA
+ARTURO
+ASAMBLEA
+ASBESTINO
+ASCETA
+ASEAR
+ASELADOR
+ASEQUIBLE
+ASESORA
+ASFALTAR
+ASIDUIDAD
+ASILO
+ASINERGIA
+ASISTOLIA
+ASNADA
+ASNUNO
+ASOLADURA
+ASOMBROSO
+ASOTILAR
+ASPECTO
+ASPERILLO
+ASPIRANTE
+ASTERISCO
+ASTILLOSA
+ASTRINGIR
+ASTUR
+ASUETA
+ASURCANO
+ATABALERO
+ATACADO
+ATADERO
+ATAHONERO
+ATAJEA
+ATANCO
+ATARRAYA
+ATAUJIADA
+ATEMORAR
+ATENTA
+ATESTAR
+ATIBORRAR
+ATILDAR
+ATLETA
+ATOCINADO
+ATONTECER
+ATORMECER
+ATORTUJAR
+ATRASADO
+ATRIACA
+ATRONADOR
+ATUFADO
+ATURADORA
+ATURRIAR
+AUDEZA
+AUGUR
+AULLADOR
+AUN
+AURICULAR
+AUSENTAR
+AUTOPISTA
+AVALENTAR
+AVENIBLE
+AVENTADO
+AVESTA
+AVIAR
+AVILLANAR
+AVISADO
+AVITELADA
+AVO
+AVUTARDA
+AYA
+AYUDADO
+AYUNQUE
+AZADILLA
+AZAGAYA
+AZAR
+AZOAR
+AZOGUE
+AZUCARERO
+AZULEJAR
+AZURITA
+BABAZA
+BABILLA
+BABUCHA
+BACERA
+BACILLAR
+BACONIANA
+BADAJUELO
+BADILA
+BAGAR
+BAHURRERO
+BAJAREQUE
+BAJOCAR
+BALADORA
+BALAJ
+BALANTE
+BALDEO
+BALDOSA
+BALISTA
+BALLENERO
+BALSEAR
+BAMBALEAR
+BAMBUCO
+BANCADA
+BANDEADA
+BANDERIZA
+BANDOLERO
+BANQUETE
+BAQUEANA
+BARACA
+BARANDAL
+BARATILLO
+BARBAROTE
+BARBEROL
+BARBUDA
+BARCELONA
+BARDO
+BARQUERO
+BARRACHEL
+BARRENA
+BARRETINA
+BARRILAJE
+BARRISCO
+BARULLO
+BASO
+BASTETANO
+BATALLAR
+BATEA
+BATICOLA
+BATUQUEAR
+BAUTIZADO
+BAYARTE
+BAZO
+BEATO
+BEBERRONA
+BECARIA
+BEDELIO
+BEGUINA
+BELA
+BELLOTEAR
+BENCINA
+BENTOS
+BERMEJIZA
+BERNIA
+BERRO
+BESICO
+BESUCADOR
+BETARRATA
+BEUNA
+BICHA
+BICORNE
+BIGOTE
+BILIOSO
+BIMOTOR
+BIPARTIDA
+BIRLOCHA
+BISAGRA
+BISELADOR
+BISTEC
+BITAR
+BIZA
+BIZNAGA
+BLANCOTA
+BLENORREA
+BOBATEL
+BOCADA
+BOCAZO
+BOCHE
+BOCOY
+BODIGO
+BOFENA
+BOJA
+BOLADO
+BOLEADOR
+BOLICHERA
+BOLLA
+BOLLONADO
+BOLSO
+BOMBERO
+BONANZOSO
+BONETE
+BONILLA
+BOQUE
+BOQUINA
+BORDADURA
+BOREAL
+BORNIDO
+BORRICO
+BORTAL
+BOSNIA
+BOSTEZAR
+BOTARATE
+BOTELLAZO
+BOTIJO
+BOTOCUDA
+BOU
+BOYAR
+BOZAL
+BRACERA
+BRAGADA
+BRAMADOR
+BRANQUE
+BRASILADO
+BRAVONEL
+BRAZALETE
+BRECHAR
+BRETADOR
+BREVIARIO
+BRIBONEAR
+BRIN
+BRIOL
+BRISURA
+BROCADURA
+BROCHAZO
+BROMISTA
+BROZADOR
+BRUJA
+BRUMAL
+BRUSCATE
+BRUTEZ
+BUCARAL
+BUCHETE
+BUFALINA
+BUFONESCA
+BUHEDERA
+BUJEDA
+BULDAR
+BULLENTE
+BUQUE
+BURDELERA
+BURLA
+BURLOTE
+BURRO
+BUSCAVIDA
+BUTIONDA
+BUZAR
+CABALLEAR
+CABALONGA
+CABELLADA
+CABERO
+CABEZAL
+CABEZUELO
+CABIO
+CABRA
+CABRERO
+CABUYERA
+CACAREAR
+CACHACO
+CACHAVAZO
+CACHETONA
+CACHIMBA
+CACHULERA
+CADALECHO
+CADILLAR
+CADUCIDAD
+CAFETERA
+CAGALAR
+CAHUERCO
+CAITE
+CAJONERA
+CALABRESA
+CALAFATE
+CALAMINA
+CALAMORRA
+CALATO
+CALCADO
+CALCETERO
+CALDAICO
+CALECICO
+CALERO
+CALICANTO
+CALIDONIA
+CALILLA
+CALIPEDIA
+CALLAMPA
+CALLEJA
+CALLIZO
+CALMIL
+CALOMEL
+CALOSA
+CALTA
+CALVECER
+CALZA
+CAMACERO
+CAMALOTAL
+CAMARERA
+CAMBO
+CAMBUJO
+CAMELIEA
+CAMERA
+CAMINANTE
+CAMISOLA
+CAMOTE
+CAMPANELA
+CAMPANUDA
+CAMPEO
+CAMPISTA
+CAMULIANO
+CANAL
+CANALLA
+CANASTERA
+CANCELLER
+CANCHEAR
+CANDAR
+CANDELERO
+CANDIEL
+CANDIOTE
+CANELA
+CANFOR
+CANICIE
+CANINERO
+CANOA
+CANOPE
+CANSAR
+CANTADOR
+CANTARERO
+CANTERITO
+CANTINELA
+CANTONAR
+CAOBA
+CAPACHO
+CAPARROSA
+CAPEADOR
+CAPEROL
+CAPILLETA
+CAPISAYO
+CAPOLAR
+CAPOTERA
+CAPULETO
+CARABEAR
+CARACAS
+CARADO
+CARAMBA
+CARAMERA
+CARANDERO
+CARAPUCHO
+CARAVACA
+CARDANCHO
+CARDERO
+CARDITICO
+CARDUZAR
+CARENCIA
+CARGADAL
+CARGOSEAR
+CARIACOS
+CARILLENO
+CARIOCAR
+CARISIAS
+CARME
+CARNAUBA
+CARNEREAR
+CARNIOS
+CAROCHA
+CARPANTA
+CARRACO
+CARRASCO
+CARRETADA
+CARRILADA
+CARRIZO
+CARRUCHA
+CARTAPEL
+CARTONERA
+CASABILLO
+CASCABELA
+CASCAJAR
+CASCAR
+CASCUNO
+CASIA
+CASINETE
+CASPIA
+CASTALIO
+CASTIDAD
+CASTORIO
+CATALDO
+CATALUJA
+CATAUBAS
+CATIGUA
+CATIVA
+CAUCHAU
+CAUDALOSA
+CAULA
+CAUSAL
+CAUTELA
+CAVERO
+CAYADILLA
+CAYOTE
+CAZALLERA
+CAZCORVO
+CAZUMBRE
+CEBADAR
+CEBICHE
+CEBOLLUDO
+CECAL
+CEDACERO
+CEDRA
+CEFALITIS
+CEGAJOSO
+CEJIJUNTA
+CELAJE
+CELEBRERO
+CELERIDAD
+CELIACA
+CEMBRIO
+CENADOR
+CENDRA
+CENOBIO
+CENSAR
+CENTENERA
+CEPILLAR
+CERAMISTA
+CERBAS
+CERCHA
+CERDUDA
+CERIFLOR
+CERNADERO
+CERRALLE
+CERRILLO
+CERTANO
+CERVERANO
+CESANTE
+CESIO
+CESTERO
+CETINA
+CHACHA
+CHAGOLLA
+CHALA
+CHALCHAL
+CHAMAGOSO
+CHAMARRA
+CHAMBRA
+CHAMORRAR
+CHAMUSCO
+CHANCERO
+CHANCUCO
+CHANQUETE
+CHAPADA
+CHAPEO
+CHAPITEL
+CHAPUL
+CHARAMITA
+CHARLA
+CHARNEL
+CHASCA
+CHATA
+CHAUZ
+CHAZO
+CHERCHA
+CHEUTA
+CHICHILO
+CHICLE
+CHIFLO
+CHILCA
+CHIMANGO
+CHINAPO
+CHINESCA
+CHIRIGOTA
+CHIRLADA
+CHIRONA
+CHISMAR
+CHISPEAR
+CHISTERA
+CHIVARRA
+CHIZA
+CHORICERO
+CHORREAR
+CHOTEAR
+CHOZPONA
+CHUCHE
+CHUETA
+CHULA
+CHUMBA
+CHUPADERO
+CHUPE
+CHURO
+CHUZA
+CIAR
+CIBERA
+CICLOIDEO
+CIDRAYOTA
+CIERZAS
+CIGARRAL
+CILINDRO
+CIMATE
+CIMBRADO
+CIMENTAR
+CIMORRA
+CINE
+CINISMO
+CINTARAZO
+CINTREL
+CIPOLINO
+CIRIGALLA
+CIS
+CISORIA
+CITADOR
+CITERIOR
+CIUDADANO
+CIZALLAS
+CLAMOROSO
+CLARILLA
+CLAROR
+CLAUDICAR
+CLAUSURAR
+CLAVILLO
+CLIN
+CLOCHEL
+COACERVAR
+COADYUTOR
+COAITA
+COATE
+COBERTERA
+COBIJO
+COBRANZA
+COCAL
+COCEDIZO
+COCHASTRO
+COCHORRO
+COCLEARIA
+COCOTERO
+CODECILDO
+CODICIA
+COERCIBLE
+COFIADOR
+COGEDERA
+COGOTILLO
+COHETAZO
+COIME
+COITIVO
+COJIJOSO
+COLAGOGO
+COLATIVA
+COLE
+COLERIZAR
+COLGADIZO
+COLICHE
+COLIPAVO
+COLLAR
+COLLONADA
+COLOMBO
+COLOR
+COLUNA
+COMADREO
+COMANDAR
+COMBA
+COMBINADO
+COMEDIR
+COMETEDOR
+COMIDILLA
+COMISAR
+COMISURA
+COMPASADO
+COMPLEXO
+COMPRENSO
+COMPUESTO
+COMUNISTA
+CONCELLO
+CONCHAL
+CONCLAVE
+CONCULCAR
+CONDERNIR
+CONDOLER
+CONDUCIR
+CONEJILLO
+CONFINADO
+CONFITERO
+CONFORME
+CONFRADE
+CONFUGIO
+CONFUTAR
+CONGRUA
+CONIECHA
+CONJUEZ
+CONJUNTO
+CONNUSCO
+CONOIDEA
+CONQUISO
+CONSEJERO
+CONSIGO
+CONSOGRAR
+CONSPICUO
+CONSUEGRA
+CONSULESA
+CONSUMIR
+CONTABLE
+CONTESTE
+CONTRAHAZ
+CONTRAREA
+CONVICTOR
+CONVIVIR
+COPADO
+COPEO
+COPIAR
+COPIOSO
+COPRA
+COQUE
+COQUINO
+CORAJOSO
+CORBE
+CORCHERO
+CORCOVADA
+CORDATO
+CORDERINA
+CORDILA
+COREO
+CORINTO
+CORLEAR
+CORNAMUSA
+CORNERINA
+COROLLA
+CORONEJA
+CORPA
+CORRALIZA
+CORRECTO
+CORRER
+CORRIDA
+CORROSCA
+CORSO
+CORTADURA
+CORTEDAD
+CORTEZUDO
+CORTO
+CORVATO
+CORZUELO
+COSCOJITA
+COSEDURA
+COSTINA
+COSTROSO
+COTA
+COTERA
+COTIZADA
+COTORRERA
+COVANILLA
+COYOCHO
+COZCUCHO
+CRAPULOSO
+CRECEDERA
+CREMA
+CRESPO
+CREZNEJA
+CRIAR
+CRICA
+CRIMNO
+CRIS
+CRISOPEYA
+CROCODILO
+CROQUIS
+CRUEL
+CRUJIR
+CUABA
+CUADRADO
+CUADRETE
+CUADRILLA
+CUADRIVIO
+CUAJADO
+CUALIDAD
+CUARTAZO
+CUARTERA
+CUATEQUIL
+CUATRATUA
+CUATRINCA
+CUBEBA
+CUBIL
+CUCARRO
+CUCHO
+CUCURUCHO
+CUESCO
+CUESTURA
+CUIDADO
+CUINA
+CUJISAL
+CULEBRINA
+CULO
+CULPOSO
+CUMPLIDO
+CUNA
+CUNERO
+CUPANA
+CURABLE
+CURANDERO
+CURDO
+CURSAR
+CURTIDOR
+CURVADA
+CUSTODIA
+CUTIDERO
+CUZ
+DACIA
+DAJAO
+DAMACENA
+DANCHADA
+DANUBIANO
+DARDO
+DATILERA
+DEBER
+DECANTAR
+DECENDER
+DECEPAR
+DECIDERO
+DECISIVO
+DECLIVIO
+DECOROSA
+DECURSO
+DEFECTIVO
+DEFENDIDO
+DEFINIDA
+DEFOIR
+DEFUIR
+DEGOLLADO
+DEGUNO
+DEITANA
+DEJATIVO
+DELATANTE
+DELEGADO
+DELEJAR
+DELICIOSA
+DELUSORIO
+DEMENCIA
+DEMIURGO
+DENANTE
+DENOSTADA
+DENSAR
+DENTISTA
+DENUNCIA
+DEPORTOSO
+DEPRAVAR
+DEPURAR
+DERECHEZ
+DERIVA
+DERREDOR
+DERRIBADA
+DERROCHE
+DERRUIR
+DESABIDA
+DESABRIDA
+DESAFECTA
+DESAFINAR
+DESAGOTAR
+DESANIMAR
+DESARMADO
+DESATACAR
+DESATE
+DESATIBAR
+DESAZONAR
+DESCABAL
+DESCARGA
+DESCARO
+DESCINTO
+DESCOCER
+DESCORDAR
+DESCUELLO
+DESDONAR
+DESEANTE
+DESENCAJE
+DESEND
+DESERTAR
+DESFLEMAR
+DESGAJAR
+DESGASTAR
+DESHIJADA
+DESHINCAR
+DESJUGAR
+DESLAVADO
+DESLIZAR
+DESMADRAR
+DESMAYO
+DESMURAR
+DESOLLADA
+DESPAGADA
+DESPEJO
+DESPENDER
+DESPEZAR
+DESPLATAR
+DESPOSADA
+DESRAIGAR
+DESRIZAR
+DESTIERRE
+DESTINO
+DESTORGAR
+DESUELLO
+DESVAINAR
+DESYUNTA
+DETECTOR
+DETERGER
+DETERSIVA
+DETRACTOR
+DEVANEO
+DEVIEDO
+DEVONIANA
+DEXMERO
+DIABASA
+DIABLURA
+DIALOGAL
+DIAMETRAL
+DIAQUENIO
+DICENTE
+DICIPLINA
+DIETAR
+DIFAMANTE
+DIFLUIR
+DIFUSA
+DIGESTIR
+DILATABLE
+DILUVIANA
+DIMINUTA
+DIMORFO
+DINARADA
+DINO
+DIPNEA
+DIRECTA
+DIRIGIR
+DISCEPTAR
+DISCOTECA
+DISCUENTO
+DISEMINAR
+DISFRAZAR
+DISIPULAR
+DISONANTE
+DISPENSA
+DISTANCIA
+DISURIA
+DIURESIS
+DIVERGIR
+DIVIDENDO
+DOBLADOR
+DOBLETE
+DOCENTE
+DOCTORA
+DODRANTE
+DOLADO
+DOLOROSO
+DOMBO
+DOMINANTE
+DONOSA
+DORADURA
+DORMILONA
+DORNIEL
+DOSIFICAR
+DOVELA
+DROGUERO
+DUALIDAD
+DUCHAR
+DUDOSA
+DUMA
+DUPLA
+DURA
+DURANTE
+DURLINES
+EBORARIO
+ECEPTUAR
+ECHADURA
+ECLIPSE
+ECTOPIA
+EDAD
+EDUCADORA
+EFECTIVO
+EFIGIADO
+EFUNDIR
+EGINETA
+EJECUTIVO
+EJERCICIO
+ELECTORA
+ELEGIA
+ELEMENTAL
+ELLOS
+ELUCIDAR
+EMBARRADO
+EMBAZADOR
+EMBIJE
+EMBOLIA
+EMBRAGAR
+EMBROMAR
+EMBUCHAR
+EMBUSTEAR
+EMENAGOGO
+EMIENTE
+EMISOR
+EMPALIADA
+EMPAPELAR
+EMPAREJO
+EMPECER
+EMPEINOSA
+EMPEREZAR
+EMPILONAR
+EMPIRISMO
+EMPLOMADA
+EMPODERAR
+EMPORCAR
+EMPRENTAR
+EMPRIMA
+EMPUJE
+EMULAR
+ENAGUAR
+ENANZAR
+ENCABAR
+ENCACHADA
+ENCALADA
+ENCANECER
+ENCANTO
+ENCARA
+ENCARNA
+ENCARTAR
+ENCATIVAR
+ENCENDRAR
+ENCEPE
+ENCERRADO
+ENCHAPADA
+ENCIENSO
+ENCINTAR
+ENCLOCAR
+ENCOCLAR
+ENCOLADA
+ENCONAR
+ENCORDAR
+ENCOVADA
+ENDECHAR
+ENDENTAR
+ENDOBLADA
+ENDOTELIO
+ENECHAR
+ENEMISTAR
+ENFANGAR
+ENFIESTO
+ENFOSADO
+ENFULLAR
+ENGAVIAR
+ENGORDA
+ENGOZNAR
+ENHOTO
+ENJAGUAR
+ENJAMBRE
+ENJERIR
+ENJUNCAR
+ENLABIAR
+ENLANCHAR
+ENLEJIAR
+ENMADEJAR
+ENMANTAR
+ENMECHAR
+ENOJADIZA
+ENORME
+ENRAIZAR
+ENRASE
+ENREDOSA
+ENRUNA
+ENSAYISTA
+ENSENAR
+ENSUCIAR
+ENTADO
+ENTALLO
+ENTEREZ
+ENTERRIAR
+ENTIBO
+ENTIZNAR
+ENTRADA
+ENTRANTE
+ENTRENZAR
+ENTRILLAR
+ENTRONAR
+ENTRUCHAR
+ENVASAR
+ENVERO
+ENVIAR
+ENVIDIOSO
+ENVOLVER
+ENZA
+EPI
+EPIFITO
+EPILEPSIA
+EPISTAXIS
+EPITOMAR
+EQUIDNA
+EQUIS
+ERAJE
+ERE
+ERGOTINA
+ERINGE
+ERIZO
+EROSIVO
+ERRAR
+ERUELA
+ESBARAR
+ESBLENCAR
+ESCABIOSA
+ESCACADO
+ESCAMOSO
+ESCAMUJAR
+ESCANTAR
+ESCARA
+ESCARZAR
+ESCEPTRO
+ESCLAFAR
+ESCLAVO
+ESCOBADO
+ESCOBIO
+ESCOFIA
+ESCOMBRA
+ESCOPETA
+ESCORBUTO
+ESCOZNETE
+ESCRIPTA
+ESCUDADO
+ESCULLIR
+ESCURECER
+ESCURRIDO
+ESER
+ESFOLAR
+ESFUMINAR
+ESGUARDAR
+ESLOVENA
+ESPACIAR
+ESPANTOSO
+ESPARTAR
+ESPEDAR
+ESPEJUELO
+ESPERADOR
+ESPEREZO
+ESPIBIO
+ESPIGAJO
+ESPINACA
+ESPIRA
+ESPIRITAL
+ESPLENDOR
+ESPOLIQUE
+ESPOROZOO
+ESPOSO
+ESPUMAJE
+ESPURIA
+ESQUEMA
+ESQUIFADA
+ESQUINAR
+ESTABLERO
+ESTADO
+ESTAMPIDA
+ESTATERA
+ESTE
+ESTEMA
+ESTEPILLA
+ESTIBA
+ESTILETE
+ESTIRAR
+ESTOFA
+ESTOMA
+ESTOPADA
+ESTORNUDO
+ESTRATO
+ESTRENUA
+ESTRIBAR
+ESTRUPAR
+ESTUFAR
+ESTURADO
+ETIQUETA
+ETRUSCA
+EUFORIA
+EUSQUERA
+EVENTUAL
+EVOCABLE
+EXAGITADO
+EXANTEMA
+EXCEPTA
+EXCIDIO
+EXCLUSIVO
+EXCULLADO
+EXCUSANA
+EXERGO
+EXHIBIR
+EXIGENCIA
+EXINANIDO
+EXORABLE
+EXOTIQUEZ
+EXPILAR
+EXPULSIVA
+EXQUISITO
+EXTENSORA
+EXTERNADO
+EXTIRPAR
+EXUTORIO
+FABLADORA
+FABULOSO
+FACERA
+FACILIDAD
+FACISTOL
+FAENERA
+FALAGADOR
+FALARIS
+FALDILLAS
+FALLAR
+FALLIDA
+FALSADA
+FALSETA
+FALTOSA
+FAMILIA
+FANAL
+FARAD
+FARDACHO
+FARFANTE
+FARINETAS
+FAROLAZO
+FARRAGOSA
+FASTIDIAR
+FATA
+FATO
+FAUSTOSO
+FAVORIDO
+FEALDAD
+FECIAL
+FEDIONDA
+FELICITAR
+FELPUDO
+FEMERA
+FENDA
+FENICE
+FERACIDAD
+FERIDOR
+FERROLANA
+FERVOROSO
+FESTERO
+FEUDO
+FIBIELLA
+FICTA
+FIELTRAR
+FIGLE
+FIGURANTA
+FIJADORA
+FILADILLO
+FILATELIA
+FILIAL
+FILOSEDA
+FILTRO
+FINALISTA
+FINCHADA
+FIORDO
+FISCAL
+FISGONEO
+FITA
+FLACO
+FLANDES
+FLATOSA
+FLAUTISTA
+FLECHILLA
+FLEMUDA
+FLEXOR
+FLOJERA
+FLOREO
+FLUECO
+FLUVIAL
+FOFO
+FOGOSO
+FOLIO
+FONDEZA
+FONJE
+FONTANO
+FORAJIDO
+FORCAZ
+FORESTAL
+FORMADORA
+FORMATIVO
+FORRAJE
+FORTUNAL
+FORZANTE
+FOSARIO
+FRAC
+FRADE
+FRAGOROSO
+FRAILAR
+FRANJA
+FRASCA
+FRATERNO
+FRAZADA
+FREGADORA
+FREILA
+FRENTONA
+FRESQUERA
+FRIALEZA
+FRIOLENTA
+FRISADORA
+FRITURA
+FRONDOSA
+FRONTINO
+FRUCTERO
+FRUGAL
+FRUNCIR
+FRUTICOSO
+FUCO
+FUGA
+FUIMIENTO
+FULGOR
+FULLERO
+FUMADORA
+FUMO
+FUNDADOR
+FUNDO
+FUNGOSA
+FUSO
+FUTURO
+GABATO
+GACETABLE
+GACILLA
+GAGATE
+GAJOSO
+GALANA
+GALAPERO
+GALBANERA
+GALEATO
+GALERNA
+GALICADA
+GALILLO
+GALLARDA
+GALLERA
+GALLINOSA
+GALLOFO
+GALONEAR
+GALOPO
+GAMBAJ
+GAMBUSINA
+GAMONITA
+GANADERA
+GANCHERO
+GANDUJADO
+GANGOSA
+GARABATO
+GARANTE
+GARBOSA
+GARDUJA
+GARGAJOSO
+GARITERO
+GARMA
+GARRAMA
+GARRAPO
+GARROBO
+GARROTERA
+GARUJO
+GASAJO
+GASTRITIS
+GATEAR
+GAUCHAJE
+GAVIETE
+GAYAR
+GAZMOL
+GEMINADA
+GENITORIO
+GENT
+GENTO
+GEOMETRAL
+GERNO
+GIBAO
+GIMNASIA
+GINEBRA
+GIRADOR
+GIRONDINA
+GLABRA
+GLICONIO
+GLOSILLA
+GOCIANA
+GOL
+GOLILLA
+GOLPAZO
+GOLUBA
+GOMOSIDAD
+GORGORITA
+GORRIATO
+GOSIPINA
+GOZNE
+GRABADORA
+GRADOSO
+GRAGEA
+GRAMAR
+GRANADERO
+GRAND
+GRANEADOR
+GRANITO
+GRANOSO
+GRANULOSA
+GRASO
+GRATIS
+GRAVAMEN
+GRAVEZA
+GRECIANO
+GREDOSO
+GREMIO
+GRIEGA
+GRIFALTO
+GRILLO
+GRISA
+GROERA
+GROSERO
+GROTESCA
+GRULLERA
+GUA
+GUACER
+GUADAL
+GUAITA
+GUALDADO
+GUANINA
+GUAPEZA
+GUARDA
+GUARDAR
+GUARISMA
+GUARO
+GUASEARSE
+GUATONA
+GUAYADERO
+GUBILETA
+GUERNESEY
+GUIADA
+GUILLOTE
+GUINJO
+GUIRNALDA
+GUISAR
+GUIZQUE
+GURA
+GURULLADA
+GUTAGAMBA
+HABAR
+HABLADOR
+HACEDERO
+HACHUELA
+HADADOR
+HALDADA
+HALLADA
+HALOZA
+HAMPA
+HARIJA
+HARRE
+HASTIAR
+HAUTE
+HAZA
+HECHA
+HECTIQUEZ
+HELADIZO
+HELENISTA
+HELICOIDE
+HELOR
+HEMBREAR
+HENAZO
+HERALDO
+HERBECER
+HERBOSO
+HERIDOR
+HERMANAL
+HERNIARIO
+HERRENAR
+HERVIDERO
+HESPERIO
+HETIQUEZ
+HIBIERNAL
+HIDROCELE
+HIERBAJO
+HIGA
+HIGUERETA
+HIJUELAR
+HILADORA
+HILETE
+HINQUE
+HIPEREMIA
+HIRVIENTE
+HISPALO
+HOBACHO
+HOGAZA
+HOJARANZO
+HOLCO
+HOLGUETA
+HOMBRO
+HOMINAL
+HONESTA
+HONORAR
+HONRADEZ
+HONTANAR
+HORACO
+HORCADA
+HORDA
+HORMIGO
+HORNO
+HORROROSO
+HOSTELAJE
+HOSTIGOSO
+HOVERO
+HOZADOR
+HUCHA
+HUELLA
+HUEVERO
+HUIDOR
+HULERO
+HUMEAR
+HUMIENTO
+HUMORAL
+HUNDIR
+HURGONADA
+HURTADA
+HUSERA
+HUY
+ICONO
+IDALIO
+IDOS
+IGNITA
+IGREJA
+IGUALAR
+ILAPSO
+ILESA
+ILIENSE
+ILOTA
+IMBURSAR
+IMPEDIR
+IMPIEDAD
+IMPONER
+IMPRESA
+IMPROBAR
+IMPROPIAR
+IMPUESTO
+IMPULSORA
+IMPUTADOR
+INACTIVA
+INASIBLE
+INCA
+INCENDAJA
+INCENTIVA
+INCINERAR
+INCLINADO
+INCLUSIVO
+INCOLORO
+INCORPORO
+INDEBIDA
+INDECORO
+INDEZUELO
+INDICIADO
+INDIGNAR
+INDIRECTO
+INDOMABLE
+INDUDABLE
+INEPTO
+INESTABLE
+INFAMIDAD
+INFANTIL
+INFAUSTO
+INFECUNDO
+INFERNO
+INFRACTO
+INGERIR
+INGRE
+INICIADOR
+INJERTERA
+INMANENTE
+INMENSA
+INMODESTO
+INOCENTE
+INOFENSO
+INORANCIA
+INSALIVAR
+INSCRITO
+INSENSATO
+INSERTO
+INSOLENTE
+INSTITUIR
+INSTRUIDA
+INSULANO
+INTACTA
+INTENSA
+INTERCISO
+INTERESAR
+INTITULAR
+INULTA
+INVARIADO
+INVENTAR
+INVERNAL
+INVERTIR
+INVICTO
+INVOCADOR
+INYUNCOTA
+IRANIO
+IRLANDESA
+IRRIGAR
+IRRUIR
+ISIDRA
+ISMAELITA
+ITALIANA
+ITRIO
+IZQUIERDO
+JABECA
+JACILLA
+JACTANTE
+JAENERA
+JAIBA
+JALDRE
+JALMA
+JAMERDANA
+JAPONESA
+JAQUIMAZO
+JARANERA
+JARIFA
+JAROSA
+JARRO
+JATIB
+JAVERA
+JEFA
+JERARCA
+JERIFIANO
+JERPA
+JETO
+JIGOTE
+JIMENZAR
+JINJOLERO
+JISMERA
+JOCUNDO
+JOPO
+JOROBADA
+JOTE
+JOYEL
+JUANETUDO
+JUBILLO
+JUDGADOR
+JUDICIOSA
+JUEZ
+JUMERA
+JUNGLADA
+JURADORA
+JURGUINA
+JUSENTE
+JUZGADOR
+LABIADA
+LABORANTE
+LABRADERA
+LABRERA
+LACEAR
+LACERO
+LACIVO
+LACRIMOSO
+LACTINA
+LADERO
+LADRANTE
+LAGAREJO
+LAGRIMAR
+LAICA
+LAMBICAR
+LAMINADA
+LAMPAR
+LANCERA
+LANCILLA
+LANERO
+LANOSIDAD
+LANZA
+LAPA
+LAPONA
+LARDOSA
+LARGUEZA
+LARVADO
+LASTRA
+LATERA
+LATIGUERA
+LATOSA
+LAURENTE
+LAVADA
+LAVANDERA
+LAYAR
+LEBRASTA
+LECHIGADO
+LECHUZA
+LEDO
+LEGALISTA
+LEGISTA
+LEGUARIO
+LEJITOS
+LEMNIA
+LENDROSA
+LENGUDO
+LENTECER
+LENTURA
+LEPAR
+LETARGO
+LETRADO
+LEUCOFEA
+LEVADOR
+LEVANTINA
+LEXIARCA
+LIBAMEN
+LIBIDO
+LIBRERO
+LICITUD
+LIDIAR
+LIEVA
+LIGERUELO
+LILIO
+LIMETA
+LIMONERO
+LIMPIDO
+LINCE
+LINDERA
+LINGOTE
+LIQUEN
+LIS
+LISO
+LISTADO
+LITA
+LITERATA
+LITUANA
+LIVIDEZ
+LLAGOSA
+LLAMATIVO
+LLANISCO
+LLAR
+LLEGAR
+LLEVA
+LLORANTE
+LLOTRO
+LLUVIANA
+LOAR
+LOBOSA
+LOCALISMO
+LOCRENSE
+LODIENTO
+LOGREAR
+LOMBA
+LOMILLO
+LONGA
+LONGITUD
+LONJEAR
+LORCHA
+LORZA
+LOTERO
+LUCENTOR
+LUCIDA
+LUCILO
+LUELLO
+LUIR
+LULA
+LUMBRARIA
+LUMINOSA
+LUNEL
+LUPICIA
+LUTECIO
+MACA
+MACAR
+MACELO
+MACHETEAR
+MACIZA
+MACUACHE
+MADAMA
+MADERISTA
+MADRERA
+MADRINERO
+MAESIL
+MAESTRAR
+MAGANCIA
+MAGNESIO
+MAGNOLIA
+MAGUEY
+MAHERIR
+MAITINADA
+MAJADOR
+MAL
+MALAR
+MALFECHOR
+MALHECHOR
+MALLA
+MALOQUEAR
+MALUCHA
+MALVESTAD
+MAMPERNAL
+MANADA
+MANCEBETE
+MANCHADO
+MANDA
+MANDATO
+MANDRA
+MANEJABLE
+MANGANETA
+MANIACA
+MANIDA
+MANILLA
+MANIQUEA
+MANOLO
+MANQUEDAD
+MANSITO
+MANTECA
+MANUMITIR
+MANZANIL
+MAQUETA
+MARANILLO
+MARCAR
+MARCHOSO
+MARDAL
+MAREOSO
+MARGENAR
+MARICA
+MARINESCO
+MARITATA
+MARMOLEJO
+MAROMA
+MARRA
+MARRIDO
+MARSO
+MARZANTE
+MASCABADA
+MASCUJADA
+MASICORAL
+MASONA
+MASTICINO
+MATERNA
+MATINO
+MAULERO
+MAVORCIO
+MAYOR
+MAZAMORRA
+MAZONEAR
+MEADURA
+MECHERO
+MEDIADOR
+MEDIANO
+MEDICAR
+MEDIERA
+MEDRO
+MEGATERIO
+MEJIDA
+MELADURA
+MELCOCHA
+MELERO
+MELINITA
+MELONERO
+MEMBRADO
+MEMBRUDO
+MENAZAR
+MENDIGO
+MENESTER
+MENGUA
+MENIPEA
+MENORGAR
+MENSURAR
+MENTOL
+MENUZA
+MERCANTE
+MERDOSA
+MERIENDA
+MERMA
+MES
+MESILLO
+MESONAJE
+MESTIZAR
+METALARIO
+METIDO
+MEZCLA
+MICA
+MICROCOCO
+MIELSA
+MIGAJADA
+MILAGRO
+MILENO
+MILICIANO
+MILLO
+MIMAR
+MIMOSO
+MINERAJE
+MINGRANA
+MINUTA
+MIOSIS
+MIRADA
+MIRASOL
+MIRRAST
+MISAR
+MISMA
+MITOTERA
+MIXTO
+MOCETE
+MOCHILERO
+MODELADA
+MODERANTE
+MODESTA
+MODIO
+MODULADOR
+MOFETA
+MOGOTE
+MOHEDAL
+MOJARRA
+MOJONAR
+MOLDEADOR
+MOLEJA
+MOLETA
+MOLINAJE
+MOLITIVO
+MOLLETAS
+MOLLIR
+MOLUSCO
+MONACAL
+MONILLO
+MONOICA
+MONOPOLIO
+MONTEADOR
+MONTESINA
+MONTUOSA
+MOQUILLO
+MORADUX
+MORBOSO
+MORDANTE
+MORDIDO
+MORENO
+MORICHE
+MORISCO
+MOROCHO
+MORRAL
+MORRONGA
+MORTECINA
+MORTUORIA
+MOSCADERO
+MOSQUINA
+MOSTAZAL
+MOTEJO
+MOVEDOR
+MOYA
+MUCAMA
+MUCHO
+MUELLAJE
+MUERTO
+MUGIENTE
+MUJER
+MULAR
+MULETO
+MULTA
+MUNDANO
+MURAJES
+MURENA
+MURMUREAR
+MUSAICA
+MUSGO
+MUSTACO
+MUTILADO
+NABATO
+NACELA
+NADANTE
+NAGUAL
+NAJERANA
+NAMBIRA
+NANTAR
+NARANJA
+NARCOSIS
+NARIGUDO
+NARRATIVA
+NATIVIDAD
+NATURISTA
+NAUSEOSA
+NAVAJUDO
+NAVEGANTE
+NAZARENO
+NEBRAL
+NECESER
+NECTARINA
+NEFASTO
+NEGRA
+NEGUS
+NEMON
+NEPERIANA
+NERVADURA
+NESGAR
+NEURISMA
+NEVADA
+NEXO
+NICOTISMO
+NIELADO
+NINFEA
+NITRITO
+NIVICIOTE
+NOCEDAD
+NOLI
+NOMPARELL
+NOPALITO
+NOSOTROS
+NOTARIATO
+NOVALLA
+NOVELA
+NOVENO
+NOVILLEJA
+NUBILIDAD
+NUCIR
+NUMERABLE
+NUMULARIA
+NUTRIA
+OBELO
+OBJECTO
+OBLEERA
+OBRADORA
+OBSCENA
+OBSTANTE
+OBTENTOR
+OCALEAR
+OCCIDUO
+OCHAVADO
+OCHENTONA
+OCLUSIVO
+OCTAVIANA
+OCULTADOR
+ODORABLE
+OFENDEDOR
+OFENSORA
+OIMIENTO
+OJEADA
+OJETERA
+OJITUERTA
+OLA
+OLEASTRO
+OLFATEO
+OLIMPIADE
+OLLERO
+OLOROSA
+OMAGUA
+OMISO
+ONDEANTE
+ONOSMA
+OPACA
+OPERAR
+OPIATA
+OPORTO
+OPTANTE
+ORANESA
+ORBITAL
+OREJISANA
+ORFANATO
+ORGANISTA
+ORIFICIA
+ORILLAR
+ORIUNDEZ
+ORNAMENTO
+ORONDADO
+ORTIGA
+ORTOSA
+OSACUSTA
+OSECITO
+OSTE
+OSTEOLITO
+OSTROGODO
+OTERO
+OTORGANTE
+OVACIONAR
+OVEJERA
+OVILLAR
+OXALME
+OXIURO
+PACADO
+PACHACHO
+PADRASTRO
+PAF
+PAGANO
+PAILERO
+PAJAR
+PAJAROTE
+PAJIZA
+PAJUZ
+PALABROTA
+PALADINA
+PALATINA
+PALENTINO
+PALETAZO
+PALIQUEAR
+PALOMETA
+PALPABLE
+PALUDISMO
+PAMPANOSA
+PANADERA
+PANCA
+PANDAR
+PANERO
+PANOCHA
+PANSA
+PANTOMIMA
+PANZA
+PAPAGAYA
+PAPAROTE
+PAPELERO
+PAPISMO
+PAQUETE
+PARADOJA
+PARAGUAS
+PARALAXI
+PARAO
+PARCO
+PARDUSCA
+PAREJURA
+PARGO
+PARLADORA
+PARPADEO
+PARRAL
+PARRIZA
+PARTE
+PARTIDOR
+PASADERA
+PASAMANAR
+PASATORO
+PASEADOR
+PASIEGO
+PASITROTE
+PASTELEJO
+PASTOSO
+PATAGUA
+PATAS
+PATEAR
+PATETA
+PATINEJO
+PATOGENIA
+PATRULLA
+PAULATINO
+PAUTADOR
+PAVIMENTO
+PAVONAZO
+PAYADA
+PAZPUERCA
+PECADO
+PECEZUELA
+PECILGO
+PECTAR
+PEDAZO
+PEDICURA
+PEDORRERA
+PEDRETA
+PEGUERA
+PEINA
+PEINETERO
+PELADERA
+PELARELA
+PELECHAR
+PELIGROSO
+PELITRE
+PELLETERO
+PELO
+PELOTERO
+PELUQUERO
+PENADA
+PENDINGUE
+PENEQUE
+PENOSO
+PENUMBRA
+PEPINAR
+PERAILE
+PERCATAR
+PERCUDIR
+PERDIDOSO
+PERENAL
+PERFUMERO
+PERICIA
+PERLA
+PERNEAR
+PERNIL
+PEROJO
+PERSPICUO
+PERTIGAL
+PERVERSO
+PESADO
+PESCADA
+PESCUDAR
+PESIMISTA
+PESQUISA
+PETARDO
+PETILLO
+PETRERA
+PEYORAR
+PIADOSA
+PIARA
+PICADURA
+PICEA
+PICIO
+PICOTADA
+PICUDO
+PIENSO
+PIGARGO
+PIJAMA
+PILASTRA
+PILLAR
+PILONGO
+PIMENTERO
+PINARIEGO
+PINCERNA
+PINEDA
+PINOL
+PINTADO
+PINTOJO
+PIOCHA
+PIORNAL
+PIPIRRANA
+PIRAGUA
+PIRINEA
+PIROSFERA
+PIRUJA
+PISCATOR
+PISOTEAR
+PISTOLERO
+PITANZA
+PITIO
+PITPIT
+PIZARRA
+PIZPIRETA
+PLACENTA
+PLAGIO
+PLANCHETA
+PLANO
+PLANTEL
+PLANURA
+PLATA
+PLATEL
+PLAUSO
+PLAZUELA
+PLEGUETE
+PLOMADA
+PLUMADA
+PLUMERO
+POBLANA
+POBRETE
+POCILLO
+PODRIDERO
+POLACADA
+POLEMISTA
+POLICOPIA
+POLIGAMIA
+POLINOMIO
+POLLASTRO
+POLLUELO
+POLVERA
+POMA
+POMPO
+PONCIL
+PONGO
+POPEL
+PORCAL
+PORCIPELO
+PORFIJAR
+POROSA
+PORRADA
+PORTADO
+PORTAZGAR
+PORTRECHO
+POSADERA
+POSEER
+POSETE
+POSTAL
+POSTIZA
+POTAR
+POTENZADO
+POTRA
+POYAR
+PRADO
+PRE
+PRECARIO
+PRECIAR
+PRECITADO
+PRECOZ
+PREDICADA
+PREFIJA
+PREGUNTEO
+PRELATURA
+PRENDAR
+PRENSA
+PREOCUPAR
+PREPUCIO
+PRESBICIA
+PREST
+PRESTAR
+PRESTIR
+PRETINA
+PRIEGO
+PRIMERO
+PRIMO
+PRIORAL
+PROBIDAD
+PROCELOSA
+PROFERTA
+PROFETAL
+PROMETIDA
+PROMOTOR
+PROPAO
+PROPUESTO
+PROSITA
+PROTEGER
+PROTESTAR
+PROYECTO
+PRUSIANA
+PUCELA
+PUDIBUNDA
+PUERICIA
+PUJAVANTE
+PULIDA
+PULMONADO
+PULSADOR
+PUNCIONAR
+PUNIR
+PUNTERO
+PUNTISECO
+PUNZADORA
+PURA
+PURGATIVO
+PURITANA
+PURULENTO
+PUTESCO
+QUE
+QUEBRANTO
+QUEDITO
+QUEJO
+QUEMADERO
+QUEPIS
+QUERENCIA
+QUERUBE
+QUIETISTA
+QUIJOTE
+QUILLANGO
+QUILOSA
+QUIMISTA
+QUINCE
+QUINTANA
+QUINZAL
+QUIRITE
+QUITANTE
+RABADA
+RABEAR
+RABIETA
+RABIZA
+RACAMENTA
+RACIMUDA
+RADICAL
+RAFAL
+RAJADIZA
+RALEZA
+RAMBLA
+RAMPA
+RANCAR
+RANCUROSA
+RANURA
+RAPAVELAS
+RAPOSEAR
+RAPTO
+RAQUITIS
+RASA
+RASGO
+RASPADOR
+RASTEL
+RATONERA
+RAVIOLES
+RAYUELO
+RAZONAL
+REACTIVO
+REALERA
+REAME
+REATAR
+REBALAJ
+REBELDE
+REBOCILLO
+REBRAMAR
+REBUJINA
+REBUSCO
+RECADERO
+RECEJO
+RECETADOR
+RECINTO
+RECLUTA
+RECOCTA
+RECORRER
+RECOVA
+RECREO
+RECTA
+RECTORA
+RECUDIR
+RECULO
+RECURRIR
+REDEDOR
+REDIEZMAR
+REDIVIVO
+REDOMADA
+REDUCIBLE
+REDUTABLE
+REFALSADA
+REFERIR
+REFLEJO
+REFUGIO
+REGADERO
+REGAR
+REGIO
+REGLADA
+REGOMELLO
+REGRESIVA
+REGULAR
+REHALERO
+REHERIR
+REHOYO
+REIMPRESA
+REINCIDIR
+REJERO
+RELABRAR
+RELATIVO
+RELENTE
+RELIGIOSO
+RELINGAR
+REMACHAR
+REMANGO
+REMATAR
+REMEDIAR
+REMENDADA
+REMILGADA
+REMISIVO
+REMOLLERO
+REMOZAR
+RENANO
+RENCUROSA
+RENEGADA
+RENGLERA
+RENTERO
+RENUNCIAR
+REPAJO
+REPARO
+REPASATA
+REPELAR
+REPENTINO
+REPETIDOR
+REPLETO
+REPOLLUDA
+REPROBADA
+REPULGAR
+REPURGAR
+REQUISITO
+RESALADO
+RESARCIR
+RESBALOSO
+RESCOLDO
+RESEGUIR
+RESERVADA
+RESFRIAR
+RESOL
+RESPAILAR
+RESPIGO
+RESTADA
+RESTRICTO
+RESUELTA
+RESUNTA
+RETAMILLA
+RETICULAR
+RETORO
+RETOZAR
+RETREPADA
+REVELABLE
+REVERBERO
+REVERSAR
+REVESTIR
+REVISITA
+REVOCADOR
+REVOLEAR
+REVOLVER
+REY
+REZAGAR
+RIENTE
+RIGENTE
+RIJADOR
+RIMBOMBO
+RIPIOSA
+RISITA
+RITMO
+RIZAR
+ROBADO
+ROBLADURA
+ROBRA
+ROCERO
+ROCINO
+RODADORA
+RODAR
+RODILLUDO
+ROEL
+ROGATORIO
+ROJO
+ROLLO
+ROMANCEAR
+ROMANILLA
+ROMBO
+ROMPER
+RONCALESA
+RONDAR
+RONZAR
+ROQUERA
+ROSAL
+ROSCADO
+ROSJO
+ROSTRADO
+ROTANTE
+ROTULADO
+ROTURADOR
+ROZAGANTE
+RUBETA
+RUBIO
+RUBRICAR
+RUDA
+RUEJO
+RUGIBLE
+RUIDOSA
+RULA
+RUMBO
+RUMO
+RUNGUE
+RUSALCA
+RUTINARIA
+SABANERA
+SABEJO
+SABIDO
+SABIO
+SABOR
+SABOYANO
+SABULOSA
+SACHO
+SACUDIDOR
+SAETILLA
+SAGO
+SAHORNO
+SAJA
+SALABARDO
+SALADURA
+SALAR
+SALCHUCHO
+SALEGA
+SALESIANO
+SALICOR
+SALIO
+SALMONETE
+SALPICAR
+SALSEAR
+SALTADA
+SALTANA
+SALUMBRE
+SALVAJE
+SAMA
+SAMIA
+SANDALINO
+SANIES
+SANTUCHO
+SAPINO
+SAQUEO
+SARAZO
+SARDESCO
+SARDONIA
+SARGENTO
+SARRACINA
+SARTENEJA
+SATURNAL
+SAUQUILLO
+SAYAL
+SAZONADA
+SEBOSA
+SECARAL
+SECOYA
+SECRETORA
+SEDE
+SEGABLE
+SEGORBINA
+SEGUIDERO
+SEGUNDERO
+SEGURIDAD
+SELACIA
+SELENOSIS
+SEMBLE
+SEMEJANTE
+SEMILLERO
+SENATORIO
+SENO
+SENSITIVO
+SENTAR
+SENTIDORA
+SEPARANTE
+SEPTENIO
+SEPULTAR
+SER
+SERENAR
+SEROSO
+SERPIA
+SERRETAZO
+SESEAR
+SESGAR
+SESTEO
+SETIEMBRE
+SEXTARIO
+SIC
+SICOFANTE
+SIEMPRE
+SIGMA
+SILBA
+SILGA
+SILLERO
+SILVA
+SINDICADO
+SINOVIAL
+SIRENIO
+SIRLE
+SISCA
+SITIADA
+SITUADO
+SOBEJA
+SOBERBIO
+SOBRANTE
+SOBRECARA
+SOBREFAZ
+SOBREMANO
+SOBREPELO
+SOBRERA
+SOCAIRERO
+SOCAZ
+SOCINIANA
+SOCORRIDO
+SOFISMO
+SOFOCLEO
+SOGUEAR
+SOLADOR
+SOLAPE
+SOLEMNE
+SOLETAR
+SOLITARIO
+SOLLASTRE
+SOLTADIZA
+SOLVENCIA
+SOMORMUJO
+SONETICO
+SONROJO
+SOPA
+SOPETEO
+SOPLIDO
+SOPORTAR
+SORCHE
+SORDOMUDO
+SORRA
+SORTIARIA
+SOSAMENTE
+SOSLAYAR
+SOSTENIDO
+SOTANA
+SOTERRAR
+SOTURNO
+SUAVE
+SUBFEBRIL
+SUBLUNAR
+SUBTENDER
+SUBURBIO
+SUBYUGAR
+SUCESORA
+SUCOSA
+SUDADERO
+SUDOR
+SUELA
+SUERTERA
+SUFOCADOR
+SUFRIDERO
+SULFITO
+SUMADORA
+SUMILLER
+SUMULISTA
+SUPERANTE
+SUPRESORA
+SUR
+SURGIDOR
+SURTIDORA
+SUSCRIPTA
+SUSPECTA
+SUSURRIDO
+SUVERSIVA
+TABACOSO
+TABAQUERA
+TABLA
+TABLEO
+TABONUCO
+TACAR
+TACHOSA
+TACUACHE
+TAGARINA
+TAIBEQUE
+TAJADERO
+TAJUELA
+TALADRAR
+TALEGO
+TALLADOR
+TALMENTE
+TALPA
+TAMANGO
+TAMARUGAL
+TAMBESCO
+TAMUJAL
+TANTA
+TAPACETE
+TAPIOCA
+TAPSIA
+TARABILLA
+TARANDO
+TARASCAR
+TARDANAOS
+TARECO
+TARJERA
+TARRAYA
+TARTAMUDA
+TARUMBA
+TASI
+TAUJEL
+TECHAR
+TECOMATE
+TEJEDERA
+TEJO
+TELLIZ
+TEMBLEQUE
+TEMERARIA
+TEMPISQUE
+TEMPLE
+TEMPORIL
+TENA
+TENCA
+TENDER
+TENGUE
+TENSOR
+TENTATIVO
+TEOSO
+TERCENA
+TERCETO
+TERESIANO
+TERMES
+TERMINOTE
+TERNECITA
+TERRAJE
+TERREGOSA
+TERRIBLEZ
+TESALIANO
+TESO
+TETONA
+TEUTONA
+TEZCUCANA
+TIBIA
+TICTAC
+TIESO
+TIJERADA
+TILICHE
+TIMBAL
+TIMOL
+TINADO
+TINGIBLE
+TINTERAZO
+TINTURAR
+TIRADERA
+TIRELA
+TIROIDEO
+TIRULO
+TITERISTA
+TITUBAR
+TIZANA
+TOBALLA
+TOBOSINO
+TOCATEJA
+TOCINO
+TODITO
+TOLA
+TOLEMAICO
+TOLLINA
+TOLVA
+TOMATAL
+TOMINEJO
+TONANTE
+TONGA
+TONSURADO
+TONTINA
+TOPADA
+TOPERA
+TOPIQUERO
+TORADA
+TORCEDURA
+TORDELLA
+TORGA
+TORMENTA
+TORNILLO
+TORPECER
+TORRADO
+TORZAL
+TOSER
+TOTAL
+TOTORAL
+TOZAR
+TRABUCO
+TRACOMA
+TRAEDIZA
+TRAINEL
+TRALLAZO
+TRAMONTAR
+TRAMPOSA
+TRANQUEAR
+TRANS
+TRANZADA
+TRAPALONA
+TRASCA
+TRASCURSO
+TRASFOLLO
+TRASIEGO
+TRASMATAR
+TRASMUTAR
+TRASUNTAR
+TRATABLE
+TRAVESEAR
+TRAZADA
+TRECE
+TRECHOR
+TREMEDAL
+TREMOSA
+TRENCILLO
+TREPADERA
+TRES
+TRESNAL
+TREZNAL
+TRIAR
+TRIBUNATO
+TRICLINIO
+TRIENTE
+TRILLADA
+TRINCAR
+TRINIDAD
+TRIPASTOS
+TRIPOLINO
+TRIQUE
+TRITURAR
+TROCO
+TROLERA
+TRONADO
+TRONCHUDO
+TRONZAR
+TROPEZAR
+TROQUILO
+TRUCHANO
+TRUFADORA
+TUCUMANO
+TUERCA
+TUITIVA
+TUMBADA
+TUMOROSA
+TUNANTA
+TUNDIR
+TUNO
+TURBA
+TURBIANTE
+TURIFICAR
+TURQUESA
+TURULEQUE
+TUTE
+TUYOS
+UBRERA
+UFANERA
+ULTIMADA
+ULTRAJOSA
+UMBRALADA
+UNCIDORA
+UNIDAD
+UNIMISMAR
+UNIVERSA
+UNTADURA
+UPUPA
+URDIDOR
+URGENTE
+URSA
+USADOR
+USLERO
+USURERA
+UVAYEMA
+VACADA
+VACIADIZO
+VACUNADOR
+VADOSA
+VAGAMUNDO
+VAGO
+VAHARERA
+VALACA
+VALENCIA
+VALLEJO
+VALVASOR
+VANECERSE
+VAPORAR
+VAQUEAR
+VARADURA
+VARIADO
+VARILLAR
+VASCUENCE
+VATE
+VECINAL
+VEDAR
+VEEDORA
+VEJAMEN
+VEJETA
+VEJOTA
+VELARIZAR
+VELILLO
+VELONERO
+VENAJE
+VENCIDO
+VENDIBLE
+VENEFICIO
+VENERANDA
+VENGANZA
+VENIR
+VENTAJOSO
+VENTANO
+VENTILAR
+VENTURINA
+VERACIDAD
+VERAS
+VERBENERA
+VERDEJA
+VERDINAL
+VERDUGAL
+VEREDARIO
+VERILEAR
+VERO
+VERRUGA
+VERSUTO
+VESTIDO
+VETEADO
+VEZA
+VIAJE
+VIBRANTE
+VICIOSO
+VIDA
+VIDRIOLA
+VIENESA
+VIGOROSO
+VILORDA
+VINAGRE
+VINATERO
+VINOSA
+VIOLENTA
+VIPERINA
+VIRGINAL
+VIRIO
+VIRREINO
+VIRUTA
+VISCOSO
+VISITADOR
+VISONTINA
+VITAMINA
+VITOREAR
+VIUDITA
+VIVAZ
+VIVIENTE
+VOLADA
+VOLANTE
+VOLATIZAR
+VOLSCA
+VOLTEJEAR
+VOLUMEN
+VOMITADOR
+VORAZ
+VOTADOR
+VUELCO
+VULCANIA
+VULTUOSO
+YACA
+YAGUAR
+YAPA
+YEGUA
+YERMA
+YESO
+YOGLARESA
+YUGOSLAVA
+YURAGUANO
+YUYUBA
+ZABORRERO
+ZACATAL
+ZAFADO
+ZAFO
+ZAGUANETE
+ZAHORRA
+ZALMEDINA
+ZAMBAIGA
+ZAMBRA
+ZANATE
+ZANCUDA
+ZANJA
+ZAPA
+ZAPATEADO
+ZAPATUDO
+ZAQUEAR
+ZARANDAR
+ZARBO
+ZARINA
+ZENDA
+ZOCATA
+ZOMA
+ZOOFTIRIO
+ZOQUETA
+ZORRERA
+ZOSTER
+ZUECO
+ZUMACAYA
+ZUMILLO
+ZURCIDA
+ZURITO
+ZURRAR

+ 64 - 0
non_catalog_apps/hangman_game/files_src/bdfconv_prepare.py

@@ -0,0 +1,64 @@
+#!/usr/bin/env python3
+
+
+def convert_to_ranges(nums: list) -> str:
+    ranges = []
+    start = None
+
+    for i, num in enumerate(nums):
+        if i == 0 or num != (prev := nums[i-1]) + 1:
+            if start is not None:
+                if prev != start:
+                    ranges.append("{}-{}".format(start, prev))
+                else:
+                    ranges.append(str(start))
+            start = nums[i]
+
+    if start is not None:
+        if (last := nums[-1]) != start:
+            ranges.append("{}-{}".format(start, last))
+        else:
+            ranges.append(str(start))
+    return ','.join(ranges)
+
+
+def read_lang(name: str) -> set:
+    with open('../files/' + name) as file:
+        d, _, _, unicode_base, keyboard, *strings = [x.strip() for x in file]
+
+        letters = {int(x, 16) for x in keyboard.split(' ')}
+        letters |= {ord(x) for x in ''.join(strings)}
+
+        if unicode_base[0] == '+':
+            unicode_base = int(unicode_base, 16)
+
+            with open('../files/' + d, 'rb') as dictionary:
+                for line in dictionary:
+                    letters |= {x + unicode_base for x in line.strip(b'\x0A')}
+        else:
+            letters |= {ord(x) for x in open('../files/' + d).read()}
+
+    return letters
+
+
+letters = set()
+
+with open('../files/menu.txt', 'r') as file:
+    for i, line in enumerate(file):
+        if i & 1 == 0:
+            letters |= {ord(x) for x in line}
+        else:
+            letters |= read_lang(line.strip())
+
+letters -= {ord("\n")}
+
+fonts = {
+    '6x12':  {10003, 10007, },
+    '6x13B': {ord('_'), },
+}
+
+cmd = 'bdfconv -v -f 1 -m "{0}" {1}.bdf -o {1}.c -n u8g2_font_{1} -d {1}.bdf'
+
+for name, addon in fonts.items():
+    letters_str = convert_to_ranges(sorted(letters | addon))
+    print(cmd.format(letters_str, name)+"\n")

BIN
non_catalog_apps/hangman_game/files_src/russian.ucs2.dict


+ 70 - 54
non_catalog_apps/hangman_game/helpers/hangman.c

@@ -1,7 +1,6 @@
 #include "hangman.h"
-#include "helpers/hangman_fonts.h"
 
-char* hangman_get_random_word(const char* dict_file) {
+HangmanWord hangman_get_random_word(const char* dict_file, uint16_t unicode_base) {
     CONST storage = furi_record_open(RECORD_STORAGE);
 
     CONST stream = file_stream_alloc(storage);
@@ -24,8 +23,18 @@ char* hangman_get_random_word(const char* dict_file) {
     }
 
     furi_string_trim(line, "\n");
+    CONST binary_str = furi_string_get_cstr(line);
+    CONST len = strlen(binary_str);
+
+    HangmanWord word;
+
+    word.len = len;
+    word.arr = malloc(len * sizeof(uint16_t));
+
+    for(size_t i = 0; i < len; i++) {
+        word.arr[i] = binary_str[i] + unicode_base;
+    }
 
-    CONST word = strdup(furi_string_get_cstr(line));
     furi_string_free(line);
     file_stream_close(stream);
     stream_free(stream);
@@ -37,14 +46,15 @@ char* hangman_get_random_word(const char* dict_file) {
 void hangman_draw_keyboard(Canvas* canvas, HangmanApp* app) {
     canvas_set_color(canvas, ColorBlack);
 
-    canvas_set_custom_u8g2_font(canvas, u8g2_font_6x12_t_cyrillic);
+    hangman_set_font(canvas, 12);
     CONST glyph_w = canvas_glyph_width(canvas, ' ');
     CONST glyph_h = canvas_current_font_height(canvas);
 
-    CONST gap = ceil((canvas_width(canvas) - 42.) / app->lang->keyboard_cols - glyph_w);
+    CONST gap = ROUND_UP_TO(canvas_width(canvas) - 42, app->lang->keyboard_cols) - glyph_w;
+    CONST y_offset = 29 + MAX(4 - app->lang->keyboard_rows, 0) * glyph_h / 2;
 
     for(uint8_t j = 0; j < app->lang->keyboard_rows; j++) {
-        CONST y = 29 + j * glyph_h * .94;
+        CONST y = y_offset + j * glyph_h * .94;
 
         for(uint8_t i = 0; i < app->lang->keyboard_cols; i++) {
             CONST x = 42 + (glyph_w + (int)gap) * i;
@@ -54,10 +64,9 @@ void hangman_draw_keyboard(Canvas* canvas, HangmanApp* app) {
                 break;
             }
 
-            uint16_t ch = app->lang->unicode_base + app->lang->letters[n];
+            uint16_t ch = app->lang->letters[n];
 
             if(app->opened[n] != HangmanOpenedInit) {
-                canvas_set_custom_u8g2_font(canvas, u8g2_font_6x12_m_symbols);
                 ch = app->opened[n] == HangmanOpenedNotFound ? 0x2717 : 0x2713; // ✕ : ✓
             }
 
@@ -69,47 +78,45 @@ void hangman_draw_keyboard(Canvas* canvas, HangmanApp* app) {
             } else {
                 canvas_draw_glyph(canvas, x, y, ch);
             }
+        }
+    }
+}
 
-            if(app->opened[n] != HangmanOpenedInit) {
-                canvas_set_custom_u8g2_font(canvas, u8g2_font_6x12_t_cyrillic);
-            }
+uint8_t hangman_l2p(HangmanApp* app, uint16_t value) {
+    for(uint8_t i = 0; i < HANGMAN_MAX_ALP_SIZE; i++) {
+        if(app->lang->letters[i] == value) {
+            return i;
         }
     }
+
+    furi_crash(NULL);
 }
 
 void hangman_draw_word(Canvas* canvas, HangmanApp* app) {
-    canvas_set_custom_u8g2_font(canvas, u8g2_font_6x13B_t_cyrillic);
+    hangman_set_font(canvas, 13);
 
     CONST glyph_w = canvas_glyph_width(canvas, ' ');
     CONST gap = app->lang->word_letters_gap;
 
-    CONST center_x = (canvas_width(canvas) - (glyph_w + gap) * strlen(app->word)) / 2;
+    CONST center_x = (canvas_width(canvas) - (glyph_w + gap) * app->word.len) / 2;
 
     CONST h = canvas_current_font_height(canvas);
     canvas_set_color(canvas, ColorBlack);
 
-    CONST word_len = strlen(app->word);
+    for(uint8_t i = 0, x = center_x; i < app->word.len; i++) {
+        canvas_draw_glyph(canvas, x, h + 1, '_');
 
-    for(uint8_t i = 0, x = center_x; i < word_len; i++) {
-        if(app->opened[app->word[i] - app->lang->first_letter_offset]) {
+        if(app->opened[hangman_l2p(app, app->word.arr[i])]) {
             canvas_set_color(canvas, ColorBlack);
-            canvas_draw_glyph(
-                canvas,
-                x,
-                h,
-                app->word[i] + app->lang->unicode_base -
-                    app->lang->first_letter_offset); // convert to UCS-2
+            canvas_draw_glyph(canvas, x, h, app->word.arr[i]);
         }
 
-        canvas_set_color(canvas, ColorXOR);
-        canvas_draw_glyph(canvas, x, h + 1, '_');
-
         x += glyph_w + gap;
     }
 }
 
 void hangman_draw_menu(Canvas* canvas, HangmanApp* app) {
-    canvas_set_custom_u8g2_font(canvas, u8g2_font_6x12_t_cyrillic);
+    hangman_set_font(canvas, 12);
 
     uint8_t max_txt_w = 0;
     for(uint8_t i = 0; i < app->menu_cnt; i += 2) {
@@ -176,7 +183,29 @@ void hangman_input_callback(InputEvent* input_event, void* ctx) {
 }
 
 void hangman_choice_letter(HangmanApp* app) {
-    if(strchr(app->word, app->lang->letters[app->pos] + app->lang->first_letter_offset) == NULL) {
+    bool found = false;
+
+    for(size_t i = 0; i < app->word.len; i++) {
+        if(app->word.arr[i] == app->lang->letters[app->pos]) {
+            found = true;
+            break;
+        }
+    }
+
+    if(found) {
+        app->eog = HangmanGameWin;
+        app->opened[app->pos] = HangmanOpenedFound;
+
+        // Checking if all letters were opened
+        for(uint8_t i = 0; i < app->word.len; i++) {
+            CONST pos = hangman_l2p(app, app->word.arr[i]);
+
+            if(app->opened[pos] != HangmanOpenedFound) {
+                app->eog = HangmanGameOn;
+                break;
+            }
+        }
+    } else {
         if(app->opened[app->pos] != HangmanOpenedNotFound) {
             app->gallows_state++;
             app->opened[app->pos] = HangmanOpenedNotFound;
@@ -185,26 +214,15 @@ void hangman_choice_letter(HangmanApp* app) {
                 app->eog = HangmanGameLoose;
 
                 // Open the non-guessed letters
-                for(uint8_t i = 0; i < strlen(app->word); i++) {
-                    CONST letter = app->word[i] - app->lang->first_letter_offset;
+                for(size_t i = 0; i < app->word.len; i++) {
+                    CONST pos = hangman_l2p(app, app->word.arr[i]);
 
-                    if(app->opened[letter] != HangmanOpenedFound) {
-                        app->opened[letter] = HangmanOpenedNotFound;
+                    if(app->opened[pos] != HangmanOpenedFound) {
+                        app->opened[pos] = HangmanOpenedNotFound;
                     }
                 }
             }
         }
-    } else {
-        app->eog = HangmanGameWin;
-        app->opened[app->pos] = HangmanOpenedFound;
-
-        // Checking if all letters were opened
-        for(uint8_t i = 0; i < strlen(app->word); i++) {
-            if(app->opened[app->word[i] - app->lang->first_letter_offset] != HangmanOpenedFound) {
-                app->eog = HangmanGameOn;
-                break;
-            }
-        }
     }
 }
 
@@ -214,13 +232,13 @@ void hangman_clear_state(HangmanApp* app) {
     app->need_generate = false;
     app->eog = HangmanGameOn;
 
-    if(app->word != NULL) {
-        free(app->word);
+    if(app->word.arr != NULL) {
+        free(app->word.arr);
     }
 
     if(app->lang != NULL) {
-        memset(app->opened, HangmanOpenedInit, app->lang->letters_cnt);
-        app->word = hangman_get_random_word(app->lang->dict_file);
+        memset(app->opened, HangmanOpenedInit, HANGMAN_MAX_ALP_SIZE);
+        app->word = hangman_get_random_word(app->lang->dict_file, app->lang->unicode_base);
     }
 }
 
@@ -275,10 +293,11 @@ HangmanLangConfig* hangman_load_config(char* meta_file) {
     config->dict_file = hangman_add_asset_path(furi_string_get_cstr(line));
     config->keyboard_cols = hangman_read_int(stream);
     config->word_letters_gap = hangman_read_int(stream);
-    config->first_letter_offset = hangman_read_int(stream);
+
+    CONST unicode_base = hangman_read_str(stream);
+    config->unicode_base = unicode_base[0] == '+' ? strtol(unicode_base, NULL, 16) : 0;
 
     // letters
-    config->unicode_base = 0xFFFF;
     config->letters_cnt = 0;
 
     const char* token = hangman_read_str(stream);
@@ -288,7 +307,6 @@ HangmanLangConfig* hangman_load_config(char* meta_file) {
         if(num == 0) break;
 
         config->letters[config->letters_cnt++] = num;
-        if(config->unicode_base > num) config->unicode_base = num;
 
         if(*end == ' ') {
             token = end + 1; // +1 because of space
@@ -297,9 +315,7 @@ HangmanLangConfig* hangman_load_config(char* meta_file) {
         }
     }
 
-    config->keyboard_rows = ceil((float)config->letters_cnt / config->keyboard_cols);
-
-    for(int i = 0; i < config->letters_cnt; i++) config->letters[i] -= config->unicode_base;
+    config->keyboard_rows = ROUND_UP_TO(config->letters_cnt, config->keyboard_cols);
 
     config->message_ok = hangman_read_str(stream);
     config->message_won = hangman_read_str(stream);
@@ -359,8 +375,8 @@ void hangman_app_free(HangmanApp** app) {
 
     hangman_free_menu_data((*app)->menu, (*app)->menu_cnt);
 
-    if((*app)->word != NULL) {
-        free((*app)->word);
+    if((*app)->word.arr != NULL) {
+        free((*app)->word.arr);
     }
     if((*app)->lang != NULL) {
         free((*app)->lang->dict_file);

+ 8 - 1
non_catalog_apps/hangman_game/helpers/hangman.h

@@ -44,11 +44,16 @@ typedef struct {
     char *message_ok, *message_won, *message_loose;
 } HangmanLangConfig;
 
+typedef struct {
+    uint16_t* arr;
+    size_t len;
+} HangmanWord;
+
 typedef struct {
     Gui* gui;
     ViewPort* view_port;
     FuriMessageQueue* event_queue;
-    char* word;
+    HangmanWord word;
     uint8_t pos;
     uint8_t gallows_state;
     HangmanOpened opened[HANGMAN_MAX_ALP_SIZE];
@@ -82,3 +87,5 @@ void hangman_choice_letter(HangmanApp* app);
 bool hangman_wait_close_window(HangmanApp* app);
 bool hangman_menu_selection(HangmanApp* app);
 bool hangman_main_loop(HangmanApp* app);
+
+void hangman_set_font(Canvas* canvas, const uint8_t h);

+ 93 - 0
non_catalog_apps/hangman_game/helpers/hangman_fonts.c

@@ -0,0 +1,93 @@
+#include <stdint.h>
+#include "hangman.h"
+
+/*
+  Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1
+  Copyright: Public domain terminal emulator font.  Share and enjoy.
+  Glyphs: 95/4531
+  BBX Build Mode: 0
+*/
+const uint8_t u8g2_font_6x12[1090] =
+    "_\0\2\2\3\4\3\5\4\5\14\0\376\7\376\12\376\0\14\1.\1\336 \5\0j\7!\7\71C"
+    "g\250\0A\12=Boe=F\266\3B\14=Bg\304*\246Y\305\241\0C\14=Boe\215"
+    "\62\312(\247\5D\15=Bg\304*\246\230b\212C\1E\14=B\347F\31\215\224QFCF\15"
+    "=B\347F\31\215\224QF\31\1G\14=Boe\215\62\212;-\0H\11=B'\333cd;"
+    "I\10\273Bg\305\256\1J\14=Bwg\224QFe\224\0K\13=B'\313T\352\24\253\34L"
+    "\16=B'\243\214\62\312(\243\214\206\0M\11=B'\257\225\264;N\12=B'\353\251\222\334:"
+    "O\11=Boe\357\264\0P\15=Bg\244\254\207\312(\243\214\0Q\12=BoeW\222Q\5"
+    "R\13=Bg\244\254\207*\253\34S\13=Boe\15\67\324i\1T\16=Bg\310\214\62\312("
+    "\243\214\42\0U\10=B'\373N\13V\12=B'\273S\231r\4W\11=B'{%\325\5X"
+    "\12=B'\353TW\265\16Y\14=B'\353Tg\224QF\21Z\12=Bgh\224\273\321\20_"
+    "\6\15:g\10a\12-Bo\303\64t\32\1d\13=B\37e\224\206\266\323\10e\12-Bo\345"
+    "\241\62\134\0g\13=:oe;\215\214\322\2h\13=B'\243\214F\312\356\0i\10\273B/#"
+    "\331\32k\14=B'\243\214\262L\263\312\1l\7\273BG\366\32n\10-B'\231\332\16o\11-"
+    "Boe;-\0p\14=:g\244l\17\225QF\0r\13-B'\231\32e\224\21\0s\12-"
+    "Boh\270\341P\0u\10-B';\225\12w\11-B'[Iu\1y\12=:'\333\251n"
+    "#\0\241\7\71C'\15\1\361\12EB\317\215\223\251\355\0\0\0\0\4\377\377\4\20\13=Boe"
+    "=F\266\3\4\21\16=Bg\244\214\62\32)\353\241\0\4\22\15=Bg\244\254\207\312z(\0\4"
+    "\23\16=B\347F\31e\224QF\31\1\4\24\17E>W\246\230b\212)\246\64v\0\4\25\15="
+    "B\347F\31\215\224QFC\4\26\14=B'%U\355\274*U\4\27\15=Bo\345\214\322\206:"
+    "-\0\4\30\13=B'\233+M\255\3\4\31\15UB'\247\215\263\271\322\324:\4\32\14=B'"
+    "\313T\352\24\253\34\4\33\15=Bw\305\24SL\61E\35\4\34\12=B'\257\225\264;\4\35\12"
+    "=B'\333cd;\4\36\12=Boe\357\264\0\4\37\10=B\347\366\35\4 \16=Bg\244"
+    "\254\207\312(\243\214\0\4!\15=Boe\215\62\312(\247\5\4\42\17=Bg\310\214\62\312(\243"
+    "\214\42\0\4#\14=B'\273\323\310(-\0\4$\14=B\67\257J%U\355\10\4%\13=B"
+    "'\353TW\265\16\4&\21M:'\246\230b\212)\246\230\206F\31\5\4'\15=B'\333id"
+    "\224QF\1\4(\17=B'%\225TRI%\225\306\0\4)\21M:'%\225TRI%\225"
+    "\306F\31\5\4*\15=BG\243\214\62\232UL\13\4+\14=B'\333S%\225f\0\4,\13"
+    "\274B'\327+\312\221\0\4-\15=Bo\345\214\322\310H\247\5\4.\17=B'\246J\245\221T"
+    "RI&\0\4/\14=Boh\235FL\245\16\4\60\13-Bo\303\64t\32\1\4\62\13-B"
+    "g\244<T\36\12\4\63\14-B\347F\31e\224\21\0\4\65\13-Bo\345\241\62\134\0\4\70\12"
+    "-B'\313\225\246\16\4\71\15EB'\247\215\263\134i\352\0\4:\12\254B'\252$S\31\4;"
+    "\13-Bw\305\24S\324\1\4>\12-Boe;-\0\4\77\10-B\347v\7\4@\15=:"
+    "g\244l\17\225QF\0\4A\13-Boe\215rZ\0\4C\14=:'\273\323\310(-\0\4"
+    "K\12-B'\353\251\322\14'\23\14=B\37e\224\63j\356\14'\27\13\65B'\247\272\252\65\2"
+    "\0";
+
+/*
+  Fontname: -Misc-Fixed-Bold-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1
+  Copyright: Public domain font.  Share and enjoy.
+  Glyphs: 93/1282
+  BBX Build Mode: 0
+*/
+const uint8_t u8g2_font_6x13B[1134] =
+    "]\0\3\3\3\4\3\5\4\6\15\0\376\11\376\13\376\0\14\1<\2\2 \5\0n\7!\7JC"
+    "\307\223\0A\14NB\227\214\42b:\214\230\4B\15NBGI\242\27\222D\227\13\0C\13NB"
+    "\17ED\324\223\204\2D\13NBGI\242\377\313\5\0E\13NB\307!\250X\21*\32F\13N"
+    "B\307!\250X\21j\4G\15NB\17ED\324R\42I(\0H\13NB\207\210\323a\304I\0"
+    "I\11\314B\7E\244/\4J\13NB\27Q\217$\11\5\0K\16NB\207\210EB\232\221$J"
+    "$\1L\10NB\207P\77\32M\13NB\207\210tx\10q\22N\15NB\207\250R\71\34$M"
+    "$\1O\13NB\17E\304O\22\12\0P\13NBGE\304t\21j\4Q\13V>\17E\304\247"
+    "C\204*R\15NBGE\304t!I\224H\2S\16NB\17ED\224R\205$\11\5\0T\11"
+    "NB\207I\250\237\0U\12NB\207\210\77I(\0V\14NB\207\210\223\204\304&\24\1W\12N"
+    "B\207\210\323\341\223\0X\16NB\207\210$!\321d$\212\210$Y\14NB\207\210$!\321\204:"
+    "\1Z\14NB\207Q&\224)\312\204\6_\6\16>\207\1a\12\66B\17Ur\242L\24d\13N"
+    "B\247\26\11\245\304\62Qe\13\66B\17Et\30J)\0g\15F:\317E\323HJ\21I(\0"
+    "h\13NB\207P\213dB\342$i\12\314B\217H:\322\205\0k\15NB\207P\213\204\64#I"
+    "\224\4l\10\314B\307H\277\20n\12\66B\207D\62!q\22o\12\66B\17E\304IB\1p\15"
+    "F:\207D\62!U(\212\212\0r\12\66B\207D\62!j\4s\15\66B\17E$\231JD\22"
+    "\12\0u\11\66B\207\210\227\211\2w\14\66B\207\210t\70XB\21\0y\14F:\207\210\313D\221"
+    "$\241\0\241\7RC\7\351p\361\15NB\227$E.\221LH\234\4\0\0\0\4\377\377\4\20\15"
+    "NB\227\214\42b:\214\230\4\4\21\15NBGE\250X\21\61]\0\4\22\15NBGE\304t"
+    "\21\61]\0\4\23\12NB\307!\250\37\1\4\24\14V>\27E\377/\7a\0\4\25\14NB\307"
+    "!\250X\21*\32\4\26\15NBGD/'\321E/\1\4\27\17NB\17E$T\232\12I\22"
+    "\12\0\4\30\17NB\207\210R\71\34(\25\22I\0\4\31\17VBO,\64\27\261\34*$\222\0"
+    "\4\32\17NB\207\210EB\232\221$J$\1\4\33\13NB\27E\377\13\211$\4\34\14NB\207"
+    "\210tx\10q\22\4\35\14NB\207\210\323a\304I\0\4\36\14NB\17E\304O\22\12\0\4\37"
+    "\12NB\307!\304\237\4\4 \14NBGE\304\351\42T\4\4!\14NB\17ED\324\223\204\2"
+    "\4\42\12NB\207I\250\237\0\4#\14NB\207\210'IQ\205\2\4$\17NB\17MF\211\350"
+    "%B\223Q\0\4%\17NB\207\210$!\321d$\212\210$\4&\13^:\207D\377\277\30\25\4"
+    "'\13NB\207\210\223\244\250\3\4(\26NBG$\62\211L\42\223\310$\62\211L\42\223\310!\0"
+    "\4)\27^:G$\62\211L\42\223\310$\62\211L\42\223\310!\250\0\4*\15NB\307l\250H"
+    "\222\350\205\2\4+\14NB\207\210\251B\351b\21\4,\14NB\207PcE\304t\1\4-\15N"
+    "B\7UQRT\223\220\0\4.\21NBGH\22\251\204\70IB\222\222\4\0\4/\16NB\317"
+    "\211IR\242HH$\1\4\60\13\66B\17Ur\242L\12\4\62\14\66BGEt\21\221.\0\4"
+    "\63\12\66B\307!\250#\0\4\65\15\66B\17Et\30\212$\24\0\4\70\13\66B\207\210\305B\42"
+    "\11\4\71\16NBO,\64\27\261XH$\1\4:\15\66B\207\210\42!I\224H\2\4;\12\66"
+    "B\27E\277\220\4\4>\13\66B\17E\304IB\1\4\77\12\66B\307!\304\223\0\4@\14F:"
+    "GE\304t\21*\2\4A\14\66B\17EDT\222P\0\4C\15F:\207\210\313D\221$\241\0"
+    "\4K\14\66BGlV\231T.\2\0";
+
+void hangman_set_font(Canvas* canvas, const uint8_t h) {
+    canvas_set_custom_u8g2_font(canvas, h == 12 ? u8g2_font_6x12 : u8g2_font_6x13B);
+}

+ 0 - 465
non_catalog_apps/hangman_game/helpers/hangman_fonts.h

@@ -1,465 +0,0 @@
-#pragma once
-
-/*
-Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1
-Copyright: Public domain terminal emulator font.  Share and enjoy.
-Glyphs: 387/4531
-BBX Build Mode: 0
-*/
-
-const uint8_t u8g2_font_6x12_t_cyrillic[4739] =
-    "\203\0\3\2\3\4\3\5\4\6\14\0\376\7\376\10\377\1B\2\206\3\256 \5\0j\7!\7\71C"
-    "\307\240\4\42\7\233VGb\11#\15\65BOePJI\62(\25\0$\16M>W\266T\224l"
-    "K\224\312\26\1%\12=B\207\64e\235&\1&\15=BO\226DIVI\244H\11'\6\31W"
-    "\307\0(\13\313>W\22%Q-\312\2)\14\313>G\26eQ%J\42\0*\13=BW\245\262"
-    "eKS\4+\12-FW\30\15R\30\1,\10\33>\217\62$\0-\6\15N\307 .\6\222B"
-    "\307\20/\12=Bg\26f\305,\4\60\12\274B\217\22yJ\24\0\61\10\273BO\42u\31\62\12"
-    "=B\317\222\205Y\333 \63\14=B\307 f\231\252%\13\0\64\14=B_&%\245d\320\302\4"
-    "\65\13=B\307qHC-Y\0\66\14=B\227\224\205C\222i\311\2\67\13=B\307 fa\26"
-    "\226\0\70\14=B\317\222i\311\222i\311\2\71\14=B\317\222i\311\20f\221\4:\10\252B\307\20"
-    "\15\1;\11\63>\217Q\31\22\0<\7\253FWR+=\10\35J\307\240\16\2>\10\253FGV"
-    ")\1\77\12=B\317\222\65\346P\4@\15=B\317\222)C\222(C\272\0A\13=B\317\222i"
-    "\303\220\331\2B\15=B\307\20U\242d\252D\203\2C\12=B\317\222\211m\311\2D\17=B\307"
-    "\20U\242$J\242$\32\24\0E\13=B\307\61\34\222\60\34\4F\12=B\307\61\34\222\260\10G"
-    "\13=B\317\222\211\245-Y\0H\12=BGf\33\206\314\26I\10\273B\307\22u\31J\12=B"
-    "\327\26\266D\221\4K\15=BG&%%-\211*Y\0L\10=BG\330\343 M\12=BG"
-    "\266,\211\346\26N\14=BG\246MJ\42mZ\0O\12=B\317\222yK\26\0P\14=B\307"
-    "\220d\332\240\204E\0Q\13=B\317\222\271$R\244\4R\15=B\307\220d\332\240\224*Y\0S"
-    "\13=B\317\222\251\253\226,\0T\11=B\307 \205=\1U\11=BG\346[\262\0V\13=B"
-    "G\346\226\224\222,\2W\12=BG\346%Q\272\0X\13=BG\246%\265JM\13Y\12=B"
-    "G\246%\265\260\11Z\12=B\307 f\35\7\1[\10\313>\307\20\365i\134\11=BG\32\246\305"
-    "\64]\10\313>\307\324\247!^\10\35VW\226\324\2_\6\15:\307 `\6\233VGVa\12-"
-    "B\317\232\14Z\62\4b\14=BG\30\16If\33\24\0c\12-B\317\222\211Y\262\0d\12="
-    "Bge\320l\311\20e\12-B\317\222\15J\272\0f\12=B\227T\311\266\260\6g\14=:\317"
-    "\222\331\222!L\26\0h\12=BG\30\16I\346\26i\10\273BO(\265\14j\12\314:_\254\265"
-    "I\211\2k\13=BGX\223\222\251\222\5l\10\273B\207\324\313\0m\13-B\207\322\242$J\242"
-    "\24n\11-BGb\322l\1o\11-B\317\222\331\222\5p\14=:\307\220d\266A\11C\0q"
-    "\12=:\317\240\331\222!,r\11-BGb\22\213\0s\11-B\317\240\36\24\0t\12=BW"
-    "\30\15RX\25u\11-BG\346\244(\1v\12-BGfKj\21\0w\12-BGfI\224"
-    ".\0x\12-BG\226\324*\265\0y\12=:GfKj\215\0z\11-B\307\240\265\15\2{"
-    "\12\313>W\22U\262\250\26|\6I\77\307\3}\13\313>G\26\325\222\250\22\1~\11\35JO\244"
-    "$R\2\0\0\0\10\4d\4\332\377\377\4\0\16UBO\232\3\307pH\302p\20\4\1\15MB"
-    "Oy\30\303!\11\303A\4\2\17M:\307\26\206S%J\242\60R\0\4\3\12UB_\35\70\366"
-    "\10\4\4\15=B\317\222\211C\22f\311\2\4\5\14=B\317\222\251\253\226,\0\4\6\11\273B\307"
-    "\22u\31\4\7\13\313BG\222-Q\227\1\4\10\13=B\327\26\266D\221\4\4\11\17=B\217\224"
-    "DI\224(\25%\261\0\4\12\20=BG\22%Q\22\15IEI,\0\4\13\15=B\307\26\206"
-    "S%J\242\0\4\14\17UB_\35\310\244\244\244%Q%\13\4\15\16UBO\232\3\231iI&"
-    "M\13\4\16\16UBG\226\314\231[\62\204\311\2\4\17\14M:G\346\333\60\205\21\0\4\20\14="
-    "B\317\222i\303\220\331\2\4\21\16=B\307\220\204\341\220d\332\240\0\4\22\16=B\307\220d\332\240"
-    "d\332\240\0\4\23\11=B\307\261G\0\4\24\20E>\227\224DI\224DI\224$\303\26\4\25\14"
-    "=B\307\61\34\222\60\34\4\4\26\16=BG\222(\225-[*J\1\4\27\15=B\317\222\205\311"
-    "\252%\13\0\4\30\14=BGfZ\222I\323\2\4\31\16UBG\226\314\231iI&M\13\4\32"
-    "\16=BG&%%-\211*Y\0\4\33\17=B\327\22%Q\22%Q\22i\1\4\34\13=B"
-    "G\266,\211\346\26\4\35\13=BGf\33\206\314\26\4\36\13=B\317\222yK\26\0\4\37\11="
-    "B\307\315\267\0\4 \15=B\307\220d\332\240\204E\0\4!\13=B\317\222\211m\311\2\4\42\12"
-    "=B\307 \205=\1\4#\14=BG\346\226\14a\262\0\4$\16=BW\266T\224D\251l\21"
-    "\0\4%\14=BG\246%\265JM\13\4&\21M:G\224DI\224DI\224D\311 \26\4'"
-    "\13=BGfK\206\260\1\4(\20=BG\222(\211\222(\211\222(\311\60\4)\21M:G\222"
-    "(\211\222(\211\222(\311\60\26\4*\14=B\207X\234*Q\262\0\4+\15=BGf\233\224D"
-    "I\246\0\4,\14\274BGV[\42iH\0\4-\15=B\317\222\205\311\20j\311\2\4.\20="
-    "BG\224T\224dH\224DI\244\4\4/\15=B\317\240i\311\20%%-\4\60\13-B\317\232"
-    "\14Z\62\4\4\61\15=B\317\22\16IfK\26\0\4\62\15-B\307\220d\203\222\15\12\0\4\63"
-    "\10-B\307\261\21\4\64\15\65>\227\224DI\224$\303\26\4\65\13-B\317\222\15J\272\0\4\66"
-    "\13-BGR\331\262\245\1\4\67\14-B\317\222EJ\226,\0\4\70\13-BG&-\311\244\5"
-    "\4\71\15EBG\226\314\231\264$\223\26\4:\13\254BG\244$RR\12\4;\14-B\327\22%"
-    "Q\22i\1\4<\13-BG\266,\211\246\5\4=\13-BG\246\15C\246\5\4>\12-B\317"
-    "\222\331\222\5\4\77\10-B\307\315-\4@\15=:\307\220d\266A\11C\0\4A\13-B\317\222"
-    "\211Y\262\0\4B\12-B\307 \205M\0\4C\14=:G\346\226\14a\262\0\4D\17M:W"
-    "\230-\25%Q*[\30\1\4E\13-BG\226\324*\265\0\4F\16=:G\224DI\224D\311"
-    " \26\4G\12-BG\246%CX\4H\15-BG\222(\211\222(\311\60\4I\16=:G\222"
-    "(\211\222(\311\60\26\4J\12-B\207\30N\225\5\4K\13-BG\246MJ\62\5\4L\13\254"
-    "BG\226-\321\220\0\4M\12\254B\307\230lC\2\4N\15-BG\224T\206DI\244\4\4O"
-    "\13\254B\317\20%K\42\5\4P\15EBO\232#K\66(\351\2\4Q\15=BO\35X\262A"
-    "I\27\0\4R\17M:O\266\205S%J\242\60K\0\4S\12EB_\35\70\66\2\4T\12\254"
-    "B\317\220-\341\0\4U\12-B\317\240\36\24\0\4V\11\263BO(U\6\4W\12\263BG\222"
-    "I\225\1\4X\13\304:_\254\325\244D\1\4Y\14-B\217\224D\211R\261\0\4Z\15-BG"
-    "\22%\321\220T,\0\4[\15=BO\266\205S%J\242\0\4\134\14\304BW\71R\22))\5"
-    "\4]\15EBO\232\3\231\264$\223\26\4^\16U:G\226\314\231[\62\204\311\2\4_\13=:"
-    "G\346\66La\4\4`\15=BO\233%Q\22\245\13\0\4a\13-BO\233\222(]\0\4b"
-    "\15=BO\66D\341T\211\222\5\4c\15=BO\230\15Q\70U\26\0\4d\17=BG\264D"
-    "I\64,Q\22E\2\4e\14-BG\264D\303\22E\2\4f\16=BW\226DIm\30\222D"
-    ")\4g\15\65BW\226DIm\30\222\2\4h\17=BG\224DI\62\134\206dH\6\4i\15"
-    "-BG\224D\311\260\14\311\0\4j\17EB\307-)%\321RQ\22\245\0\4k\14\65B\307-"
-    ")-\25\245\0\4l\20FB\307AS\232\242AI\226di\1\4m\16\66B\307!i\212\6%"
-    "YZ\0\4n\20e:O-G\226,\214\324\60Y\322\5\4o\17U:O-G\226,R\223%"
-    "]\0\4p\16=BG\222(\211R\331\302\22\0\4q\14-BG\222(\225-\214\0\4r\15="
-    "B\317\222i\303\220i\311\2\4s\14-B\317\222\15C\226,\0\4t\17=BG&%Q%J"
-    "\242$\213\0\4u\14-BG&U\242$\213\0\4v\21UBG\324\232IIT\211\222(\311\42"
-    "\0\4w\16EBG\324\232I\225(\311\42\0\4x\22M:O\226DI\224\14\311\220,\211\230%"
-    "\0\4y\16=:OrH\206dI\304,\1\4z\15U>W\266T\64/\225-\2\4{\15E"
-    ">W\266T\64Ke\213\0\4|\14MB\317\216\204Q\346\322\5\4}\15=B\317\216DI\242)"
-    "]\0\4~\17UB\307\245\234\324,\211\222(]\0\4\177\15EB\307\245\234\324\224D\351\2\4\200"
-    "\14U:\317\222\31[\307\12\0\4\201\13=>\317\222\211\351X\1\4\202\15\65FW\222%\211T\311"
-    "\222\10\4\203\11\36^\357\60\250\0\4\204\10\26b\317\224\11\4\205\10\25b\317\42\5\4\206\10\25b"
-    "\317\22\11\4\207\10\26b\217\26\15\4\210\21f:O\230\344@\230\344\214\225\34\10\223\0\4\211\16f"
-    ":O\30N\251\316X\234R\1\4\212\20e:G\226\314\231tI\246I+&\0\4\213\17]:G"
-    "\226\314\231iI&\255\230\0\4\214\15EBO\230m\341T\211\222\5\4\215\15=BO\266\205S%"
-    "J\26\0\4\216\16EB\307\220d\226dP\62\61\4\4\217\16E:\307\220d\226dP\62\61\4\4"
-    "\220\13MBg\70\14a\217\0\4\221\13=Bg\70\14a#\0\4\222\15=B\317\220\204\331\20\205"
-    "\65\0\4\223\14-B\317\220dC\24f\0\4\224\14M>\307\61\34\222\314\255\2\4\225\13=>\307"
-    "qH\62[\5\4\226\15N:G\322\237\246\244_\324\2\4\227\15>:GR\32\303)I\324\2\4"
-    "\230\16U:\317\222\205Y\32j\311V\3\4\231\14E:\317\222U\265d\253\1\4\232\20N:G\226"
-    "D\225LL\262\250\26\247\1\4\233\15=:G\224\224\264$\252\206\1\4\234\16=BG\222XJZ"
-    "\22%J\3\4\235\13-BG\222X\246Di\4\236\16=BO\64$MZ\22U\242\0\4\237\16"
-    "EBO\230mQR\322\222\250\0\4\240\17EB\207\224DII\323\222\250\22\5\4\241\13-B\207"
-    "\224\224\264$*\4\242\23U:G\224DI\224\14I\224DI\224Db\1\4\243\16=:G\224D"
-    "\311\220DI$\26\4\244\22EBG\62$Q\22MI\224DI\224D\0\4\245\15-BG\62$"
-    "\321\224DI\4\4\246\23U:\307\224DI\224(\25%Q\22\245\230%\0\4\247\16=:\307\224D"
-    "\211RQ\212Y\2\4\250\17M>\317 FIEI\224\312\226\12\4\251\14=>\317\22FI\313\226"
-    "\12\4\252\15U:\317\222\211\335\222-M\0\4\253\15=:\317\222\211Y\262\245\11\0\4\254\14U:"
-    "\307 \205=\212\25\0\4\255\13=:\307\245\24\206b\5\4\256\13=BG\246%\265\260\11\4\257\13"
-    "=:G\246%\265\260\11\4\260\15=BG\246%\225A\12K\0\4\261\15=:G\246%\225A\12"
-    "K\0\4\262\20N:G\226dQ\22V\242,\311\342\64\4\263\15>:G\26%a%\312\342\64\4"
-    "\264\22U:\307RJ\242$J\242$J\242d\10\13\4\265\17E:\307RJ\242$J\242d\10\13"
-    "\4\266\20U:G\224DI\224DI\24\215\241X\4\267\15E:G\224DI\24\215\241X\4\270\17"
-    "EBGfI\224\312\20%Q\22\6\4\271\14\65BGf\251\14Q\22\6\4\272\13=BG\30\16"
-    "I\346\26\4\273\13\274BGV[\42S\0\4\274\17EB\227T\211\222hX\302(R\0\4\275\15"
-    "\65B\227\24\15K\30E\12\0\4\276\20U:\227T\211\222hX\302(\322\322\4\4\277\16E:\227"
-    "\24\15K\30EZ\232\0\4\300\11\303B\307\22\365\62\4\301\21UBG\226\314I\242$Je\251("
-    "\211R\4\302\15EBG\226\314Ie\313\226\6\4\303\20M:G&%%-\211*Y\30)\0\4"
-    "\304\15<:G\244$RR\312\22\5\4\305\21U:\327\22%Q\22%Q\22iZ\61\1\4\306\15"
-    "=:\327\22%Q\22i\305\4\4\307\16U:Gf\33\206\314-\214\24\0\4\310\15=:G\246\15"
-    "C\246\205\221\2\4\311\15U:Gf\33\206\314\255\230\0\4\312\15=:G\246\15C\246\25\23\0\4"
-    "\313\16U:G\346-\31\302L\13\23\0\4\314\15E:GfK\206\60\323\302\4\4\315\20U:G"
-    "\266\14\311\222(\211f+&\0\4\316\15=:G\266,\211\246\25\23\0\4\317\7\301B\307A\4\320"
-    "\17MBG\226\354\300\222i\303\220i\1\4\321\16EBG\226\354\300\232\14Z\62\4\4\322\16MB"
-    "O\35X\62m\30\62[\0\4\323\15=BO\35X\223AK\206\0\4\324\17=B\317\240DI\64"
-    "$\245$J\6\4\325\13-B\317\226$K\313\2\4\326\16MBG\226\314\303\70$a\70\10\4\327"
-    "\16EBG\226\354\300\222\15J\272\0\4\330\15=B\317\222\205\303\220i\311\2\4\331\13-B\317:"
-    "\14Y\262\0\4\332\17MBO\35X\262p\30\62-Y\0\4\333\15=BO\35X\207!K\26\0"
-    "\4\334\20MBO\71I\224D\251,\25%Q\12\4\335\14=BO\71\251l\331\322\0\4\336\16M"
-    "BO\35X\262\60R\265d\1\4\337\15=BO\35X\262H\311\222\5\4\340\14=B\307\240\325V"
-    "-Y\0\4\341\14=:\307\240\325V-Y\0\4\342\15MB\307\240f\246%\231\64-\4\343\15="
-    "B\307\240f\322\222LZ\0\4\344\15MBO\71\63-\311\244i\1\4\345\14=BO\71\223\226d"
-    "\322\2\4\346\14MBO\35X\62o\311\2\4\347\14=BO\35X\62[\262\0\4\350\15=B\317"
-    "\222i\303\220i\311\2\4\351\14-B\317\222\15C\226,\0\4\352\17MBO\35X\62m\30\62-"
-    "Y\0\4\353\15=BO\35X\262a\310\222\5\4\354\15MBOy\255\14a\226L\0\4\355\14\274"
-    "BG\222\216\311\66$\0\4\356\16MB\307\240f&E\11\265d\1\4\357\16M:\307\240f\266d"
-    "\10\265d\1\4\360\16MBO\71\63)J\250%\13\0\4\361\16M:O\71\263%C\250%\13\0"
-    "\4\362\17UBO$\305\231IQB-Y\0\4\363\17U:O$\305\231-\31B-Y\0\4\364"
-    "\14MBO\71\263%C\330\0\4\365\13=BO\71\323\222!,\4\366\12E>\307\261\243\230\1\4"
-    "\367\12\264>\307\240\325\264\10\4\370\16MBO\71\263MJ\242$S\0\4\371\14=BO\71\323&"
-    "%\231\2\4\372\16M:\317\220\204\331\26\206b\226\1\4\373\15=:\317\220d[(f\31\0\4\374"
-    "\16M:G\246%\265JM\13\263\4\4\375\15=:G\226\324*\265\60K\0\4\376\15=BG\246"
-    "%\225Ai\323\2\4\377\13-BG\226T\6\245-\5\0\13=Bge\320l\311\20\5\1\13\274"
-    "B_e\210L\311\0\5\2\16=BW\230II\242$Je\1\5\3\15=BWX\223\222D\251"
-    ",\0\5\4\15=B\207\32Fj\22%Y\2\5\5\14\65B\207\32fQ%K\0\5\6\14L:"
-    "\207\230%b\226i\5\5\7\13D:\207\230Ea\246\25\5\10\20=B\307%J\242$Q\22%\221"
-    "\22\0\5\11\15-B\307%J\242$\221\22\0\5\12\20=BG\22%Q\22-J\242$R\2\5"
-    "\13\15-BG\22%\321\242$R\2\5\14\15=B\317\222\211\321\246%\13\0\5\15\13-B\317 "
-    "F[\262\0\5\16\16=B\307 \205\225(\211\222,\1\5\17\13-B\307 \205\225,\1\5\20\15"
-    "=B\317\240\251R\230%\13\0\5\21\14-B\317\240%R\226,\0\5\22\13>B\307%\352\227\306"
-    "\10\5\23\14\66>\307%\352%\13#\0\5\24\15>B\207\322\77U\272HI\0\5\25\14.B\207"
-    "\322\247J\42%\1\5\26\14=B\207\244$.\65[\0\5\27\14\65>\207\244(%\245&\2\5\30"
-    "\16=B\317\240DI\266\224\222(\31\5\31\13-B\317\322\262\224\42\1\5\32\14=B\317\222\271$"
-    "R\244\4\5\33\13=:\317\240\331\222!,\5\34\13=BG\346%Q\272\0\5\35\13-BGf"
-    "I\224.\0\5\36\16=BG\222HIeK\242J\26\5\37\15-BG\222H\311\42%Y\0\5"
-    " \22N:\207\222%Y\222%R\322EJ\322\60\1\5!\17\66>\207\222%Y\42%\211\224\244\1"
-    "\5\42\22M:G\22%Q\22\15IEI\224b\226\0\5#\17=:G\22%\321\220T\224b\226"
-    "\0\0";
-
-/*
-  Fontname: -Misc-Fixed-Medium-R-SemiCondensed--12-110-75-75-C-60-ISO10646-1
-  Copyright: Public domain terminal emulator font.  Share and enjoy.
-  Glyphs: 467/4531
-  BBX Build Mode: 2
-*/
-
-const uint8_t u8g2_font_6x12_m_symbols[6422] =
-    "\323\2\3\2\3\4\1\2\4\6\14\0\376\7\376\10\377\1|\3\27\11\260 \7\346\370\371O\0!\12"
-    "\346\370\311iw\60\247\0\42\14\346\370\341$K\262$\347\23\0#\17\346\370\31\223h\220\222,\211\6"
-    ")\311\11$\16\346\370\11\341\224t\34\223Nc\16\1%\15\346\370\211R\42\205\235\224H\207\1&\16"
-    "\346\370\251a\222%a\245)Sr\30'\11\346\370\11i\235o\0(\15\346\370)a\32\246\345\64\316"
-    "\21\0)\14\346\370\341j\234\26\323\60\307\0*\16\346\370\311YR\32\303)\251\345\24\0+\12\346\370"
-    "Yk\203\226\346\14,\11\346\370\371A\324t\14-\11\346\370y\31tn\0.\11\346\370\371A\324)"
-    "\0/\13\346\370Y\302\64\254\206\71\15\60\12\346\370\311Z\324\277\351\4\61\11\346\370\311\241\332q'\62"
-    "\14\346\370\251S\226\206\215\203\16\3\63\15\346\370\211\203\32\206r\222E;\1\64\15\346\370\31B-\211"
-    "J\203\230\346\4\65\15\346\370\211\203\222\16q\232d\321N\66\15\346\370\311Z\230\16Q\226d\321N\67"
-    "\14\346\370\211\203\32\246aZ\247\0\70\16\346\370\251S\226d\321\224%Y\264\23\71\16\346\370\251S\226"
-    "d\321\220\206\231N\1:\13\346\370\271\211:&\352\24\0;\13\346\370\271\211:&j:\6<\11\346"
-    "\370\231\303r\235\14=\13\346\370\71\15:\60\350\214\0>\11\346\370\31\343b\235\5\77\14\346\370\251S"
-    "\26Vs\60\247\0@\15\346\370\251S\226$K\227%\336\11A\20\346\370\251S\226d\311\240dI\226"
-    "d\71\14B\15\346\370\211C\26\65mQ\313\220\23C\13\346\370\251S\226\244m\321ND\13\346\370\211"
-    "C\26\365/CNE\16\346\370\211\203\222\246C\224\246\203\16\3F\15\346\370\211\203\222\246C\224\326i"
-    "\0G\15\346\370\251S\226\244%%\213v\2H\21\346\370\211Y\222%Y\62(Y\222%Y\16\3I"
-    "\11\346\370\251c\332q'J\13\346\370\311c\332T\323)\0K\17\346\370\211Y\22U\62\61\311\242Z"
-    "\16\3L\12\346\370\211i\257\203\16\3M\17\346\370\211Yb\351\226dI\226d\71\14N\20\346\370\211"
-    "Y\222%R\322I\311\222,\207\1O\17\346\370\251S\226dI\226dI\26\355\4P\16\346\370\211C"
-    "\224%Y\62Di\235\6Q\17\346\370\251S\226dI\226t\312\224\34\6R\20\346\370\211C\224%Y"
-    "\62DI\26\325r\30S\15\346\370\251S\226\304s\222E;\1T\12\346\370\211\203\226\366N\1U\20"
-    "\346\370\211Y\222%Y\222%Y\222E;\1V\20\346\370\211Y\222%Y\222EI\226\204\71\5W\17"
-    "\346\370\211Y\222%Y\222%}Jr\2X\20\346\370\211Y\222EIX\211\262$\313a\0Y\15\346"
-    "\370\211Y\222EI\230\266S\0Z\13\346\370\211\203\32v\35t\30[\12\346\370\341-\355\353\216\0\134"
-    "\13\346\370\211q\32W\343\34\6]\11\346\370\341\265\337v\4^\13\346\370\11a\22e\71_\0_\10"
-    "\346\370\371\267A\1`\10\346\370\341v>\1a\15\346\370\271\315\321\220d\321\220\303\0b\17\346\370\211"
-    "i:DY\222%Y\62\344\4c\13\346\370\271MY\222f\321Nd\20\346\370Y\322hH\262$K"
-    "\262h\310a\0e\13\346\370\271MY\62D\361Nf\13\346\370\311ZT\34\323:\11g\16\346\370\271"
-    "MY\222%Y\64\244\321\4h\20\346\370\211i:DY\222%Y\222\345\60\0i\12\346\370\311\71\246"
-    "\66\356\4j\13\346\370YrL\355T\223\0k\16\346\370\211i-\211\242-\252\345\60\0l\11\346\370"
-    "\251j\217;\1m\13\346\370\71)Q\322\377\16\3n\16\346\370\71%\222\224dI\226d\71\14o\14"
-    "\346\370\271MY\222%Y\264\23p\17\346\370\71\15Q\226dI\226\14Q\232\2q\16\346\370\271\15I"
-    "\226dI\26\15i\5r\14\346\370\71%\222\224\244u\32\0s\13\346\370\271\15I<'CNt\14"
-    "\346\370\311i\66hiY\207\1u\16\346\370\71eI\226dId\311a\0v\16\346\370\71eI\226"
-    "dQ\22\346\24\0w\14\346\370\71eI\226\364)\311\11x\15\346\370\71eQ\22V\242,\207\1y"
-    "\15\346\370\71eI\226dQ\22\266\2z\13\346\370\71\15b\343\240\303\0{\14\346\370)aZ\214\323"
-    "r\216\0|\11\346\370\11i\177\207\0}\13\346\370\341j\71L\213\71\6~\12\346\370\271EI\247\234"
-    "\25\240\7\346\370\371O\0\241\12\346\370\311\71\230v\247\0\242\15\346\370Y\303)\351\226\224\306\34\2\243"
-    "\15\346\370\311ZT\34\323(It\2\244\17\346\370\71%\245$\312\242$J\352\60\0\245\17\346\370\211"
-    "Y\224D\203\226\15Z\232S\0\246\13\346\370\311i\35L\353\24\0\247\14\346\370\11S\254Emr\264"
-    "\23\250\10\346\370\341$\347\17\251\20\346\370\251C\22J\211\22I\211\230\14\71\14\252\13\346\370\21-\11"
-    "uh\347\15\253\16\346\370\71&Q\22%a\22&\71\14\254\11\346\370y\31\324:\25\255\10\346\370y"
-    "\332\71\2\256\20\346\370\251C\22*\226H\211\304d\310a\0\257\11\346\370\321A\347g\0\260\12\346\370"
-    "\21-j\323\371\4\261\15\346\370\311i\66hi\16\15:\14\262\13\346\270\302$\15\303\235O\0\263\12"
-    "\346x\344\60\316t\276\1\264\11\346\370)a\235\217\0\265\16\346\370\71eI\226dI\244,\325\24\266"
-    "\22\346\370\341!Y\222%Y\42%K\262$Kr\30\267\10\346\370\71\332\71\2\270\10\346\370\371\207L"
-    "\3\271\11\346\270B\265\270\363\11\272\13\346\270\302$\314\261\235O\0\273\16\346\370\71%a\22&Q\22"
-    "%\71\5\274\16\346xB\265%\324\222l\10\323\234\0\275\15\346xB\265%L\322\260\272\303\0\276\17"
-    "\346\70\344\60\316\224PK\262!Ls\2\277\13\346\370\311\71\230\206\265h'\300\22\346x\342\34\233\262"
-    "$K\6%K\262$\313a\0\301\22\346\370\302\34\233\262$K\6%K\262$\313a\0\302\22\346\270"
-    "\302$\207\246,\311\222A\311\222,\311r\30\303\23\346x\224\212\16MY\222%\203\222%Y\222\345\60"
-    "\0\304\22\346\370\201$\207\246,\311\222A\311\222,\311r\30\305\22\346\270\302$\14\247,\311\222A\311"
-    "\222,\311r\30\306\20\346\370\251CRK\262!J\262$Kv\30\307\15\346\370\251S\226\244m\321\232"
-    "i\0\310\17\346x\342\34\32\224\64\35\242\64\35t\30\311\17\346\370\302\34\32\224\64\35\242\64\35t\30"
-    "\312\20\346\270\302$G\6%M\207(M\7\35\6\313\20\346\370\201$G\6%M\207(M\7\35\6"
-    "\314\13\346x\342\34\33\323\216;\1\315\13\346\370\302\34\33\323\216;\1\316\13\346\270\302$\207\306\264\343"
-    "N\317\13\346\370\201$\207\306\264\343N\320\14\346\370\251[\324\262D\235v\2\321\22\346x\224\212\216d"
-    "I\226HI'%K\262\34\6\322\20\346x\342\34\233\262$K\262$K\262h'\323\20\346\370\302\34"
-    "\233\262$K\262$K\262h'\324\21\346\270\302$\207\246,\311\222,\311\222,\332\11\325\21\346x\224"
-    "\212\16MY\222%Y\222%Y\264\23\326\21\346\370\201$\207\246,\311\222,\311\222,\332\11\327\14\346"
-    "\370\331JIX\211\262\234\12\330\16\346\370I\321\24)\375\213\24M\71\10\331\21\346x\342\34\312\222,"
-    "\311\222,\311\222,\332\11\332\21\346\370\302\34\312\222,\311\222,\311\222,\332\11\333\22\346\270\302$G"
-    "\262$K\262$K\262$\213v\2\334\22\346\370\201$G\262$K\262$K\262$\213v\2\335\16\346"
-    "\370\302\34\312\222,J\302\264\235\2\336\14\346\370\251\351\26\365\264\345$\0\337\16\346\370\251S\226D\225"
-    ",\252%\211N\340\16\346\370\341:\66GC\222EC\16\3\341\17\346\370)a\216\315\321\220d\321\220"
-    "\303\0\342\20\346\370\11a\222Cs\64$Y\64\344\60\0\343\20\346\370a\245\242Cs\64$Y\64\344"
-    "\60\0\344\17\346\370\251I\16\315\321\220d\321\220\303\0\345\20\346\370\11a\22\206s\64$Y\64\344\60"
-    "\0\346\15\346\370\271\215I\64%\341\220\303\0\347\15\346\370\271MY\222f\321\232i\0\350\15\346\370\341"
-    ":\66e\311\20\305;\1\351\15\346\370)a\216MY\62D\361N\352\16\346\370\11a\222CS\226\14"
-    "Q\274\23\353\15\346\370\251I\16MY\62D\361N\354\12\346\370\341:\246\66\356\4\355\13\346\370)a"
-    "\216\251\215;\1\356\13\346\370\11a\222Cj\343N\357\13\346\370\251I\16\251\215;\1\360\20\346\370\201"
-    "$\254\304\321\220dI\226d\321N\361\21\346\370a\245\242#\211$%Y\222%Y\16\3\362\15\346\370"
-    "\341:\66eI\226d\321N\363\16\346\370)a\216MY\222%Y\264\23\364\17\346\370\11a\222CS"
-    "\226dI\26\355\4\365\17\346\370a\245\242CS\226dI\26\355\4\366\16\346\370\251I\16MY\222%"
-    "Y\264\23\367\13\346\370Ysh\320\241\234\1\370\15\346\370\271\15I\244\264H\311\220\23\371\16\346\370\341"
-    ":\224%Y\222%Y\264\23\372\17\346\370)a\16eI\226dI\26\355\4\373\20\346\370\11a\222#"
-    "Y\222%Y\222E;\1\374\17\346\370\251I\216dI\226dI\26\355\4\375\17\346\370)a\16eI"
-    "\226dQ\22\266\2\376\20\346\370\211i:DY\222%Y\62Di\12\377\17\346\370\251I\216dI\226"
-    "dQ\22\266\2\0\0\0\10%\221\5\217\377\377 \240\16\346\370\251Z\232,\305\61\335a\0 \241\17"
-    "\346\370\251C\322\27%R\42E\332\11 \242\17\346\370\251S\226\244\211\224dIi' \243\20\346\370"
-    "\211\203\222\246KEJ\262$\247\0 \244\16\346\370\311Z\224\214\341\30%\211N \245\15\346\370\271F"
-    "C\224\364\247\34\3 \246\22\346\370\211Y\42%\303\220T\206!R\262\34\6 \247\17\346\370\251b\22"
-    "\15R\222\211iN\2 \250\21\346\370Q\61\311\222LQj\211\224\264\350\4 \251\20\346\370\211\303\220"
-    "%\303\220\364b\311r\30 \252\15\346\370a-J\374\227\310\16\3 \253\24\346\370I\331\20FC\222"
-    "%Y\222EC\216\14\11\0 \254\16\346\370\311S\70d\341\220\305;\14 \255\17\346\370\251Q\227h"
-    "\220\222,j\207\1 \256\16\346\370\211\203\226j\252\246\346\24\0 \257\17\346\370\341pL\262\250\227%"
-    "Qr\2 \260\21\346\370)a\222%a\232%\231\322\65\214\0 \261\21\346\370a\61\211\6e\220\222"
-    "LLs\22\0 \262\20\346\370\11\341\224tK\262di\32s\10 \263\21\346\370\251S\226\14J\226"
-    "\14J\226d\71\14 \264\16\346\370\251r\64h\331 \305:\1 \265\21\346\370\11\341\224tK\262$"
-    "KJc\16\1!\3\15\346x\302$\214\247\264\363\16\3!\11\17\346x\302$\214\207(M\267\264N"
-    "\1!&\21\346\370\251S\226dI\226dQ\22):\14!\220\14\346\370Y\303p\220\342\234\1!\221"
-    "\15\346\370\311\341\224\324\322v\12\0!\222\13\346\370Y\343h\20\353\14!\223\15\346\370\311i[R\32"
-    "s\12\0!\224\15\346\370\271%\321 %\71+\0!\225\16\346\370\311\341\224\324*\245\61\247\0!\226"
-    "\17\346\270\305!\332\222\64N\343\64\207\1!\227\20\346\370!i\310\266$\13\323\60\315i\0!\230\17"
-    "\346\270\323\70\215\323$\233\206P\207\1!\231\17\346\370\261\64L\303,\311\16\221N\2!\232\15\346\370"
-    "Y\223\250\62,E\235\14!\233\16\346\370Y\305$\31\226\250\222\223\1!\234\14\346\370\71\211\212$\345"
-    "l\0!\235\13\346\370\71+\312\244\63\2!\236\17\346\370Y\223(\211\206\245\230\344T\0!\237\17\346"
-    "\370\11\341\224\224\246\244\226\326)\0!\240\17\346\370\31\223\60I\206)\211\222\234\14!\241\17\346\370\11"
-    "i-)MIi\314)\0!\242\17\346\370Y\243$J\206,\312\242\234\10!\243\17\346\370\331\242,"
-    "\312\206$J\242\234\14!\244\16\346\370Y\223\250\62H\265$\247\2!\245\16\346\370\311\341\224\324\322\332"
-    "\240\303\0!\246\16\346\370\331\222,\212\6%\252\344\14!\247\16\346\370\211\203\226\326\222\322\230S\0!"
-    "\250\16\346\370\311\341\224\324*\245\203\16\3!\251\14\346\370Y\223(\33\246\70g!\252\15\346\370\31\223"
-    "(\213\6\261N\6!\253\17\346\370Y\303h\30\224(Kr*\0!\254\16\346\370\231#)\31\226\250"
-    "\222\223\1!\255\16\346\370\271E\211\62,J\224S\1!\256\16\346\370\71D\211\62,J\224\263\0!"
-    "\257\16\346\370\211iT\221\224\250\70\346\4!\260\16\346\370\11a\70H\265$m\207\1!\261\17\346\370"
-    "\11q\64(Q%K\353\64\0!\262\17\346\370Ii-\211*\203\24\347\24\0!\263\16\346\370\211i"
-    "%\213\242A\254S\0!\264\14\346\370\71\15i\70\346d\0!\265\15\346\370\71\244Qe\220r\26\0"
-    "!\266\15\346\370Y\265\250e\211\352T\0!\267\14\346\370\31\265\250\313\230\223\1!\270\16\346\370\321A"
-    "I\67\61I\343\64'!\271\21\346\270\223L\34\24\61)*\203\250%\71\14!\272\15\346\370Y\67)"
-    "iK\262h'!\273\15\346\370\331F-iK\262h'!\320\14\346\370Y\303!\211\207,g!\321"
-    "\21\346\370\311a\22)R\222%Y\222%\71\1!\322\14\346\370Y\263!N\206\60g!\323\21\346\370"
-    "\251I\226dI\226D\212\224\204\71\5!\324\17\346\370\31\243d\30\302aH\242\234\12!\325\22\346\370"
-    "\11a\22)R\222%\221\42%aN\1!\326\20\346\370\331\6\245\246DIS\22\346\60\0!\327\20"
-    "\346\370\31\7-\211\22\245\242DIN\2!\330\20\346\370\31+Q\322\224hI\62\350(\0!\331\20"
-    "\346\370\71$Q\242T\224(\311\6\35\6!\346\15\346\370Y\303!\311\242!\313\31!\347\21\346\370\11"
-    "a\22)R\222%Y\222%\331N!\350\15\346\370Y\263!\312\222!\314\31!\351\22\346\370\341-\311"
-    "\222,\311\222H\221\222\60\247\0%\200\11\346\70\376\277\363\2%\201\11\346\370\371\343\360\0%\202\11\346"
-    "\370\371u\370\1%\203\10\346\370\371\360\177%\204\11\346\370y\31\376\37%\205\11\346\370\331\206\377\177%"
-    "\206\12\346\370\211\303\377\377\0%\207\11\346\270\207\377\377\37%\210\11\346\70\376\377\377\3%\211\30\346\70"
-    "\6eP\6eP\6eP\6eP\6eP\6eP\0%\212\30\346\70\206h\210\206h\210\206h"
-    "\210\206h\210\206h\210\206h\210\0%\213\30\346\70\206h\210\206h\210\206h\210\206h\210\206h\210\206"
-    "h\210\0%\214\11\346\70\266\377\67\0%\215\11\346\70D\377G\0%\216\11\346\70D\377G\0%\217"
-    "\11\346\70\322\376W\0%\220\7\346\370\376\77%\221\20\346\70\222:\322\234\324\221\346\244\216\64\3%\222"
-    "\30\346\70\222R\222(\245$QJI\242\224\222D)%\211RJ\12%\223\26\346x*\303\240T\206"
-    "\245\62\14JeX*\303\240T\206\1%\224\11\346\70\276\363G\0%\225\7\346x\373\77%\226\11\346"
-    "\370y\331~\3%\227\10\346\370y\334~%\230\11\346\70\266\337y\4%\231\11\346\70\266\77\374\77%"
-    "\232\11\346\70\266\237\267\37%\233\11\346\70\376\177\373\15%\234\11\346\70\376\277\375\1%\235\11\346\370\376"
-    "\316\13\0%\236\11\346\370\376\260\375\6%\237\11\346\370\376\360\377\1%\240\17\346\370\71\15\312\240\14\312"
-    "\240\14:\14%\241\17\346\370\71\15J\226dI\226\14:\14%\242\15\346\370\271MY\222%Y\264\23"
-    "%\243\16\346\370\71\15J\226tK\6\35\6%\244\17\346\370\71\15J\226\14J\226\14:\14%\245\15"
-    "\346\370\71\15J\377\62\350\60\0%\246\16\346\370\71\15J\313\240\264\14:\14%\247\16\346\370\71\15\212"
-    "\224tR\6\35\6%\250\17\346\370\71\15J\244\264H\311\240\303\0%\251\16\346\370\71\15\212\245\305\62"
-    "\350\60\0%\252\11\346\370\271\275\263\2%\253\13\346\370\271mI\266\263\2%\254\12\346\370\331\206\377\235"
-    "\10%\255\15\346\370\331\206!\64\16CN\4%\256\26\346\370\201!\32\242!\32\242!\32\242!\32\242"
-    "!\32r\0%\257\14\346\370\201!\352\377OC\16%\260\15\346\370\71\16\311\220\14\71+\0%\261\15"
-    "\346\370\71\16I\224\14\71+\0%\262\17\346\370\311i\270M\203\62(\203\16\3%\263\21\346\370\311i"
-    "\230dI\224%Y\62\350\60\0%\264\14\346\370Y\213\333\64\350T\0%\265\15\346\370Y\213I\226D"
-    "\203N\5%\266\16\346\370\251\251\270\15\321&\346$\0%\267\17\346\370\251\251\230dQ%\23s\22\0"
-    "%\270\14\346\370\31Sq\23s\26\0%\271\14\346\370\31S\61\311\304\234\5%\272\15\346\370\331\304!"
-    "\32\16\221\316\2%\273\15\346\370\331\304D\312\26Ig\1%\274\17\346\370\211\203\62(\203\264\215iN"
-    "\1%\275\21\346\370\211\203\222%Y\224dI\230\346\24\0%\276\14\346\370\71\15\322\66\246\71\5%\277"
-    "\16\346\370\71\15R\222%a\232S\0%\300\16\346\370YBm\32\262Q\315a\0%\301\17\346\370Y"
-    "B-\211jI\250\346\60\0%\302\14\346\370\231CmTs\62\0%\303\14\346\370\231C-\11\325\234"
-    "\14%\304\15\346\370\71H\303!\32B\235\10%\305\15\346\370\71H\312\26)\241N\4%\306\14\346\370"
-    "Y\303i\220\306\234\1%\307\15\346\370Y\303$\312\242$\314\31%\310\15\346\370Y\303$JJI\230"
-    "\63%\311\15\346\370Y\265(I\134J\231N%\312\21\346\370\311a\222%Q\26%Y\22\346\24\0%"
-    "\313\16\346\370Y\265(\11\305$\312t\2%\314\16\346\370Ys \311\261$\7r\2%\315\13\346\370"
-    "\271MI\177\332\11%\316\16\346\370\251S\226\264X\272E;\1%\317\15\346\370Y\265!\31^\206L"
-    "'%\320\17\346\370Y\65%\231\206(Q\62\235\0%\321\17\346\370Y\265D\211\206hI\64\235\0%"
-    "\322\17\346\370Y\265(\11\207!\31\62\235\0%\323\17\346\370Y\265!\31\206\60\211\62\235\0%\324\17"
-    "\346\370Y\265D\211\206\60\211\62\235\0%\325\16\346\370Y\65%\231\304$\312t\2%\326\22\346\370\301"
-    "l\32\242!\31\244!\32\262\65G\1%\327\21\346\270\323m\210\206hP\206h\210\266\234\6%\330\15"
-    "\346\70\376\203\64\212\323\360\17\2%\331\22\346\70\376 -J\62DC\222(\323\360\203\0%\332\15\346"
-    "\70\376 -J\62\344<\1%\333\15\346\370y\32\222D\231\206\37\4%\334\11\346\370Y\303:\17%"
-    "\335\11\346\370\231\333\71\1%\336\11\346\370\371\32\326\11%\337\12\346\370\371\20\327)\0%\340\14\346\370"
-    "Y\265(\11sN\0%\341\13\346\370\371\20&Q\246\23%\342\15\346\370\71\207\332\64$\203\16\3%"
-    "\343\15\346\370\71\245\342\66D\203\16\3%\344\15\346\370\71\15\312\20mbN\3%\345\15\346\370\71\15"
-    "\322\220\215j\16\3%\346\15\346\370\271MY\222%Y\264\23%\347\17\346\370\71\15\312\222,\311\222\14"
-    ":\14%\350\17\346\370\71\15J\262$Kr\320a\0%\351\17\346\370\71\15\312\240,\211\224\14:\14"
-    "%\352\17\346\370\71\15J\244$\7e\320a\0%\353\15\346\370\71\15J\377\62\350\60\0%\354\17\346"
-    "\370\311i\230dS\322\226\14:\14%\355\17\346\370\311i\270MK\262$\203\16\3%\356\16\346\370\311"
-    "i\270M\311\222\34t\30%\357\16\346\370\311Z\224\204\306$\312t\2%\360\16\346\370\71\15J\313R"
-    "K\6\35\6%\361\16\346\370\71\15J\226,]\6\35\6%\362\17\346\370\71\15J\226$K\313\240\303"
-    "\0%\363\16\346\370\71\15J\227%K\6\35\6%\364\15\346\370\271MIe\251E;\1%\365\14\346"
-    "\370\271MY\262t\332\11%\366\15\346\370\271MY\222,M;\1%\367\15\346\370\271MI\313\222E"
-    ";\1%\370\15\346\370\331\6%\252db\316\4%\371\15\346\370\331\6\251\226\204jN\5%\372\16\346"
-    "\370\331R\61\311\242h\320\251\0%\373\14\346\370\31\207\250\323\220\63\2%\374\16\346\370\271\15\321\20\15"
-    "\321\220S\1%\375\14\346\370\31\207\250\323\220\63\2%\376\16\346\370\31\207h\210\206h\310\31\1%\377"
-    "\15\346\370\71\204Z\22U\6\235\12&\0\15\346\370\221\64k\34\263\326\234\2&\1\14\346\370\31\265A"
-    "\31vN\0&\2\17\346\370\221p\32\224AK\33s\22\0&\3\23\346\70\222piJJI\226T"
-    "\246,\311\242\235\0&\4\20\346\70\243\226,i\13#-j\323)\0&\5\16\346\370\311i\66H\333"
-    "\224\345T\0&\6\16\346\370\311i\66HI\66e\71\25&\7\14\346\370\261\260s%\324v\30&\10"
-    "\22\346\270\7%K\242.Y\222EJ\244$;\14&\11\15\346\370\31\247,\351\26\355d\0&\12\21"
-    "\346\370\251S\226dQ\222%QRJr\2&\13\21\346\370\251I\224\224\222,\211\262$\213v\2&"
-    "\14\13\346\370\71GS\67\235\2&\15\17\346\370\21-j\23C-j\323)\0&\16\17\346\370\251\323"
-    "\240\64\35\224A\31t\30&\17\20\346\370\251S\322\323\224%Y\62\350\60\0&\20\15\346\270\207!\364"
-    "\343\60\344(\0&\21\22\346\270\207!\324N\211\224,\211\22\15C\216\2&\22\21\346\270\207A\32\242"
-    "\305\227i\210\206AG\1&\23\23\346\270\263$\213\222,\11+Y\22eI\226\303\0&\26\23\346\370"
-    "\11a\22eI\226dI\226d\311\240\303\0&\27\22\346\370\11\341\64(\203\62(\203\62(\203\16\3"
-    "&\31\22\346\370IY\224\34\226%\31\222d\211\222\34\6&\32\16\346\370\71\15\313\240\14\322\220\23\1"
-    "&\33\15\346\370\71\15\7eP\206\234\14&\34\16\346\370\71\15K\244D\322\220\23\1&\35\20\346\370"
-    "I\241\64DJ\324i\210\206\34\6&\36\16\346\370\71\15\203\224H\311\220\223\1&\37\20\346\370\201!"
-    "\32\242NJ\64\204j\35\6&T\24\346\270\302mJ*\203\222EI\226DY\62\350\60\0&U\24"
-    "\346\270\223\312\240d\311 %Y\222%Q\226\14:\14&V\22\346\370\211Ie\220\222,\311\222(K"
-    "\6\35\6&W\23\346\370\221\60\311&E\311\242$K\242,\31t\30&X\23\346\370\241pRj\311"
-    "\222%Y\22e\311\240\243\0&Y\21\346\370\11a\22V\262$K\242,\31t\30&Z\22\346\270\302"
-    "mJ*\203\62H\333\64(\203\16\3&[\21\346\270\223\312\240\14\312 m\247A\31t\30&\134\17"
-    "\346\370\211Ie\220\266\323\240\14:\14&]\22\346\370\221p\233\24%\213\222l\32\224A\207\1&^"
-    "\21\346\370\241pJ\224A\31\264\323\240\14:\12&_\16\346\370\11\341\30n\247A\31t\30&`\16"
-    "\346\370\11i\270M\203\62h\341N&a\17\346\370\251I\224\364-J\302\64\247\0&b\21\346\370\311"
-    "a\222%Q\26%Y\22\346\24\0&c\17\346\370\341mJ*\203\62(m\341N&d\20\346\370\251"
-    "I\64(\203\62Hc\232S\0&e\21\346\370\341$\32\224A\31\224A\332\306\234\2&f\17\346\370"
-    "\11\341\66\15\312 mcN\1&g\17\346\370\11a\22\206SR\32\303\235\0&\200\23\346\270\7%"
-    "K\262$K\272%Y\222%\203\16\3&\201\24\346\270\7%K\244$K\262$K\42%K\6\35\6"
-    "&\202\23\346\270\7%K\244$K\272%\221\222%\203\16\3&\203\23\346\270\7%K,Y\222%Y"
-    "b\311\222A\207\1&\204\22\346\270\7%K,Y\322-\261d\311\240\303\0&\205\22\346\270\7%K"
-    ",Yb\311\22K\226\14:\14'\23\16\346\370Y\322\60\215\222l\314I\0'\24\16\346\370YDm"
-    "P\224A\32u\2'\25\16\346\370\71eQ\22V\242,\207\1'\26\16\346\370\331\24e\320\262A\261"
-    "S\1'\27\16\346\370\331JIX\211\262$\247\1'\30\20\346\370\331\244!R\206\350\60HC\216\1"
-    "'O\16\346\370\331\6%{\30\224AG\1'P\14\346\370\31\207\267\207!\207\1'Q\16\346\370\331"
-    "\6%{\30\224AG\1'R\14\346\370\31\207\267\207!\207\1\0";
-
-/*
-  Fontname: -Misc-Fixed-Bold-R-SemiCondensed--13-120-75-75-C-60-ISO10646-1
-  Copyright: Public domain font.  Share and enjoy.
-  Glyphs: 221/1282
-  BBX Build Mode: 0
-*/
-
-const uint8_t u8g2_font_6x13B_t_cyrillic[2775] =
-    "\335\0\3\3\3\4\3\5\4\6\15\0\376\11\376\12\377\1e\2\300\4\15 \5\0n\7!\7JC"
-    "\307\223\0\42\10\35Z\207\204E\0#\14>F\17\211b\241XH\24\0$\13>F\227\214Bc\241"
-    "\211\0%\17NB\217\344\20!\312\24)\207\210\4\0&\14>B\217\214D\223\35\42\242\2'\6\32"
-    "[\207\1(\14\334>\227D$\21\351&\222\11)\15\334>\207L$\23\351\42\222\210\0*\13.J"
-    "\207HB\261PD\2+\12.J\227Pd\22\212\0,\10\234>\317D\11\0-\6\16R\207\1."
-    "\10\234>\217\204\42\1/\14NB\247\232P\246(\23\12\1\60\14NB\227\214\42\342IB\23\1\61"
-    "\12NB\227lD\324\223\1\62\13NB\17ED\22\312t\64\63\15NB\207Q\246F\25\222$\24"
-    "\0\64\16NB\237P\66\42E\264\330\204\22\0\65\16NB\307!(\254L\204B\222\204\2\66\16N"
-    "B\327H&\24V&$\222\204\2\67\15NB\207Q&\224\11eB\65\0\70\16NB\17E\304$"
-    "\241\210\230$\24\0\71\15NB\17E\304\62)\252\211F\0:\14\304B\217\204\42\207I(\22\0;"
-    "\13\304>\217\204\42\207M\224\0<\10NB\247LW\35=\7&J\207\35j>\11NB\207T\67"
-    "\35\1\77\16NB\17ED\22\312\24\345\60\21\0@\14NB\17E\304r\70X\244\5A\14NB"
-    "\227\214\42b:\214\230\4B\15NBGI\242\27\222D\227\13\0C\13NB\17ED\324\223\204\2"
-    "D\13NBGI\242\377\313\5\0E\13NB\307!\250X\21*\32F\13NB\307!\250X\21j"
-    "\4G\15NB\17ED\324R\42I(\0H\13NB\207\210\323a\304I\0I\11\314B\7E\244"
-    "/\4J\13NB\27Q\217$\11\5\0K\16NB\207\210EB\232\221$J$\1L\10NB\207"
-    "P\77\32M\13NB\207\210tx\10q\22N\15NB\207\250R\71\34$M$\1O\13NB\17"
-    "E\304O\22\12\0P\13NBGE\304t\21j\4Q\13V>\17E\304\247C\204*R\15NB"
-    "GE\304t!I\224H\2S\16NB\17ED\224R\205$\11\5\0T\11NB\207I\250\237\0"
-    "U\12NB\207\210\77I(\0V\14NB\207\210\223\204\304&\24\1W\12NB\207\210\323\341\223\0"
-    "X\16NB\207\210$!\321d$\212\210$Y\14NB\207\210$!\321\204:\1Z\14NB\207Q"
-    "&\224)\312\204\6[\10\334>\207I\177\42\134\14NB\207P*\224*J\205\2]\10\334>\7I"
-    "\177\62^\10\36Z\227\214\42\22_\6\16>\207\1`\7\223b\207H\0a\12\66B\17Ur\242L"
-    "\24b\16NB\207P\213dB\42U(\22\0c\13\66B\17EDT\222P\0d\13NB\247\26"
-    "\11\245\304\62Qe\13\66B\17Et\30J)\0f\14NB\327H\242(+\11\265\1g\15F:"
-    "\317E\323HJ\21I(\0h\13NB\207P\213dB\342$i\12\314B\217H:\322\205\0j\15"
-    "]:\237:`\246\215B\221L\0k\15NB\207P\213\204\64#I\224\4l\10\314B\307H\277\20"
-    "m\11\66BG\345\360P\22n\12\66B\207D\62!q\22o\12\66B\17E\304IB\1p\15F"
-    ":\207D\62!U(\212\212\0q\13F:\217\204R\242L\24\65r\12\66B\207D\62!j\4s"
-    "\15\66B\17E$\231JD\22\12\0t\14FB\217PV\22j\21M\0u\11\66B\207\210\227\211"
-    "\2v\13\66B\207\210IB\242\211\0w\14\66B\207\210t\70XB\21\0x\14\66B\207HB\23"
-    "\312(\42\1y\14F:\207\210\313D\221$\241\0z\10\66B\207MG\3{\15]>\327D\246("
-    "\31\212d\212\3|\7JC\307\3\1}\16]>\307P\246$\234\10e*#\0~\10\35Z\217\344"
-    "\24\1\0\0\0\4\377\377\4\1\17VB\207\210$>\4\205\25\241\320\0\4\2\17^:GI($"
-    "I\364\217\62\11\0\4\3\14VB\227L\16:\4\365\10\4\4\16NB\27E&\24V\204R)\1"
-    "\4\5\17NB\17ED\224R\205$\11\5\0\4\6\12\314B\7E\244/\4\4\7\14VB\207\210"
-    "$\66\11u\62\4\10\14NB\27Q\217$\11\5\0\4\11\23NB\317,\22\213\304\42*\225\210("
-    "\42\42I\0\4\12\20NBG(O\225SD\24\21\221$\0\4\13\14NBGI($I\364\17"
-    "\4\14\21^B\237:DD\221\220f$\211\22I\0\4\16\20VBO,\64\7\210\230$E\222\204"
-    "\2\4\17\15^:\207\210\77\35BB\21\0\4\20\15NB\227\214\42b:\214\230\4\4\21\15NB"
-    "GE\250X\21\61]\0\4\22\15NBGE\304t\21\61]\0\4\23\12NB\307!\250\37\1\4"
-    "\24\14V>\27E\377/\7a\0\4\25\14NB\307!\250X\21*\32\4\26\15NBGD/'"
-    "\321E/\1\4\27\17NB\17E$T\232\12I\22\12\0\4\30\17NB\207\210R\71\34(\25\22"
-    "I\0\4\31\20VBO,\64\7\210X\16\25\22I\0\4\32\17NB\207\210EB\232\221$J$"
-    "\1\4\33\13NB\27E\377\13\211$\4\34\14NB\207\210tx\10q\22\4\35\14NB\207\210\323"
-    "a\304I\0\4\36\14NB\17E\304O\22\12\0\4\37\12NB\307!\304\237\4\4 \14NBG"
-    "E\304\351\42T\4\4!\14NB\17ED\324\223\204\2\4\42\12NB\207I\250\237\0\4#\14N"
-    "B\207\210'IQ\205\2\4$\17NB\17MF\211\350%B\223Q\0\4%\17NB\207\210$!"
-    "\321d$\212\210$\4&\13^:\207D\377\277\30\25\4'\13NB\207\210\223\244\250\3\4(\26N"
-    "BG$\62\211L\42\223\310$\62\211L\42\223\310!\0\4)\27^:G$\62\211L\42\223\310$"
-    "\62\211L\42\223\310!\250\0\4*\15NB\307l\250H\222\350\205\2\4+\14NB\207\210\251B\351"
-    "b\21\4,\14NB\207PcE\304t\1\4-\15NB\7UQRT\223\220\0\4.\21NB"
-    "GH\22\251\204\70IB\222\222\4\0\4/\16NB\317\211IR\242HH$\1\4\60\13\66B\17"
-    "Ur\242L\12\4\61\16FB\17E(\254\210\230$\24\0\4\62\14\66BGEt\21\221.\0\4"
-    "\63\12\66B\307!\250#\0\4\64\13>>\27E\277\34\204\1\4\65\15\66B\17Et\30\212$\24"
-    "\0\4\66\15\66BGDK\204D\211h\11\4\67\15\66B\17E$\223\222$\24\0\4\70\13\66B"
-    "\207\210\305B\42\11\4\71\17NBO,\64\7\210X,$\222\0\4:\15\66B\207\210\42!I\224"
-    "H\2\4;\12\66B\27E\277\220\4\4<\13\66B\207\350\360\20\42\11\4=\13\66B\207\210t\30"
-    "\61\11\4>\13\66B\17E\304IB\1\4\77\12\66B\307!\304\223\0\4@\14F:GE\304t"
-    "\21*\2\4A\14\66B\17EDT\222P\0\4B\13\66B\307E\22\22j\2\4C\15F:\207"
-    "\210\313D\221$\241\0\4D\17^:\227P\215\22\321K\204&T\2\4E\15\66B\207HB\223Q"
-    "D$\1\4F\12F:\207D\377bT\4G\12\66B\207\210IRT\4H\20\66BG$\62\211"
-    "L\42\223\310$r\10\4I\21F:G$\62\211L\42\223\310$r\10*\4J\14\66B\307PH"
-    "\222h\241\0\4K\14\66BGlV\231T.\2\4L\14\66B\207PX\21\221.\0\4M\13\65"
-    "B\7QB\223Y\0\4N\16\66BGH\22\71\221$%\11\0\4O\14\66B\317\211$\251HH"
-    "\2\4Q\20NB\207\210$\7PD\207\241HB\1\4R\17^:\217\254$$I\364\217\62\11\0"
-    "\4S\14NB\227L\16:\4u\4\4T\12\65B\217\215\42\23\22\4U\16\66B\17E$\231J"
-    "D\22\12\0\4V\13\314B\217H:\322\205\0\4W\15NB\207\210$\7\14u\243\0\4X\16]"
-    ":\237:`\246\215B\221L\0\4Y\20\66B\7I\22\222\250D&\221\211\4\0\4Z\20\66B\207"
-    "$$\11U$\221Id\42\1\4[\14NB\217\254$$I\364\17\4\134\20NB\227L\16\22Q"
-    "$$\211\22I\0\4^\21^:O,\64\7\210\270L\24I\22\12\0\4_\14F:\207\210\247C"
-    "H(\2\4`\20NBO(\42\32\252h\71XB\21\0\4a\16\66BO(\22\224h\271\204\42"
-    "\0\4b\16NB\217\254$\24\222$z\241\0\4c\16NB\217P\215&$I\264P\0\4d\15"
-    "NB\207\210\242\227CD\237\4\4e\14\66B\207\210\42\71Dt\22\4f\15NB\227PF\312\345"
-    "\242\227\0\4g\13\66B\227\214\224r\321\22\4h\23NB\207(\42\212\210\42\222\3%\62\251D&"
-    "\11\4i\17\66B\207(\42\212\34\42\221I%\1\4j\16NB\307\241\22\312D\271\350%\0\4k"
-    "\14\66B\207%\224\345\242%\0\4l\21NBGd\222\237B\225\310\344\20\211L\22\4m\17\66B"
-    "\207\244\22\31E\16\221\310$\1\4n\23f:O(&\7QDB\321T(\241H)\0\4o\22"
-    "f:O(&G\241\210dR\241\204\42\245\0\4p\15NBGD\277\134hB%\0\4q\15F"
-    ":GD\277\134hB\21\0\4r\16NB\17E\304t\30\61I(\0\4s\15\65B\317Dr\220"
-    "P$\23\0\4t\15NB\207\210\223D\237f\23\0\4u\14\66B\207\210I\242\323\4\0\4v\22"
-    "^BG($\21\245\3D$\211>\315&\0\4w\21VBG($\21\245\3DL\22\235&\0"
-    "\4x\22^:Op\26\211E\364\345\42\211\5e\22\0\4y\17F:OJE\313E\22\13\312$"
-    "\0\4z\15^>\227\214\42\342'\11M\4\4{\15F>\227\214\42\342$\241\211\0\4|\21^B"
-    "\347a\16\14EDC\211\226K(\2\4}\21VB\347a\16\14EDC\211\344\22\212\0\4~\22"
-    "VB\307E\22\7\204\42\242\241D\313%\24\1\4\177\22NB\307E\22\7\204\42\242\241Dr\11E"
-    "\0\4\220\12VB\347a\250\37\1\4\221\12>B\347a\250#\0\0";

+ 1 - 3
non_catalog_apps/hangman_game/helpers/hangman_gui.c

@@ -18,10 +18,8 @@ void hangman_draw_utf8_str(Canvas* canvas, uint8_t x, uint8_t y, const char* str
 
         if(state == FuriStringUTF8StateStarting) {
             canvas_draw_glyph(canvas, x, y, value);
-
             // Only one-byte glyphs supported by canvas_glyph_width
-            x += value <= 0xFF ? canvas_glyph_width(canvas, value) :
-                                 canvas_glyph_width(canvas, ' ');
+            x += canvas_glyph_width(canvas, value <= 0xFF ? value : ' ');
         }
     }
 }