# Gui | Lista czcionek w grze \[CoP\]

**URL:** <https://stalkerteam.pl/t/gui-lista-czcionek-w-grze-cop/30329>\
**Category:** Grafika 2D, dźwięk, wideo\
**Created:** [8 Kwiecień 2023 15:00 UTC](https://stalkerteam.pl/t/gui-lista-czcionek-w-grze-cop/30329 "2023-04-08T15:00:34Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Autor:** ![anon99707317](https://stalkerteam.pl/letter_avatar_proxy/v4/letter/a/c89c15/32.png) [@anon99707317](https://stalkerteam.pl/u/anon99707317)\
**Data wpisu:** [8 Kwiecień 2023 15:00 UTC](https://stalkerteam.pl/t/gui-lista-czcionek-w-grze-cop/30329/1 "2023-04-08T15:00:34Z")

</div>

![](https://discourse-static.stalkerteam.pl/file/stalkerteam-discourse/original/3X/d/a/dace3469ea13135686f1a8e31d710371f7451524.jpeg)

**NAZWA:** Gui | Lista czcionek w grze  
**PLATFORMA:** Zew Prypeci 1.6.02  
**TWÓRCA:** FantomICW

**WPROWADZENIE:**

> **Spoiler**
>
> Być może są pytania dotyczące modowania, które nękają twórcę od miesięcy. Jednym z nich jest lista dostępnych czcionek do gry. Niektóre zasoby w Google sugerują otwarcie pliku configs/fonts.ltx, ale nadal nie jest wyjaśnione, jak to jest odczytywane przez silnik: nazwy „czcionek” nie zgadzają się z tymi używanymi w interfejsie. W sumie na to pytanie na razie udzielona zostanie połowa odpowiedzi. Niemniej jednak, dzięki kodom źródłowym silnika 1.6.02, udało się dotrzeć do sedna miejsca, w którym „rejestrowane” są naprawdę działające czcionki!  
> Chcesz rzucić okiem na ten mały przewodnik?

**REJESTRACJA CZCIONEK:**

> **Spoiler**
>
> Właściwie „rejestracja” czcionek jest w pliku UIXmlInit.cpp. Linie 29-43 zawierają definicje zmiennych dla większości nazw czcionek (poniżej zobaczymy, jak te zmienne są używane):
> 
> ```auto
> #define ARIAL_FONT_NAME "arial"
> 
> #define MEDIUM_FONT_NAME "medium"
> #define SMALL_FONT_NAME "small"
> 
> #define GRAFFITI19_FONT_NAME "graffiti19"
> #define GRAFFITI22_FONT_NAME "graffiti22"
> #define GRAFFITI32_FONT_NAME "graffiti32"
> #define GRAFFITI50_FONT_NAME "graffiti50"
> 
> #define LETTERICA16_FONT_NAME "letterica16"
> #define LETTERICA18_FONT_NAME "letterica18"
> #define LETTERICA25_FONT_NAME "letterica25"
> 
> #define DI_FONT_NAME "di"
> 
> ```
> 
> Struktura:
> 
> ```auto
> #define ZMIENNA "nazwa"
> 
> ```
> 
> Sama „rejestracja” jest wykonywana w tym samym pliku, w funkcji InitFont:
> 
> ```auto
> bool CUIXmlInit::InitFont(CUIXml &xml_doc, LPCSTR path, int index, u32 &color, CGameFont *&pFnt)
> {
> color = GetColor (xml_doc, path, index, 0xff);
> 
> LPCSTR font_name = xml_doc.ReadAttrib(path, index, "font", NULL);
> if(!font_name)
> {
> pFnt = NULL;
> return false;
> }else
> {
> if(!xr_strcmp(font_name, GRAFFITI19_FONT_NAME))
> {
> pFnt = UI().Font().pFontGraffiti19Russian;
> }
> else if(!xr_strcmp(font_name, GRAFFITI22_FONT_NAME))
> {
> pFnt = UI().Font().pFontGraffiti22Russian;
> }
> else if(!xr_strcmp(font_name, GRAFFITI32_FONT_NAME))
> {
> pFnt = UI().Font().pFontGraffiti32Russian;
> }
> else if(!xr_strcmp(font_name, GRAFFITI50_FONT_NAME))
> {
> pFnt = UI().Font().pFontGraffiti50Russian;
> }
> else if(!xr_strcmp(font_name, "arial_14"))
> {
> pFnt = UI().Font().pFontArial14;
> }
> else if(!xr_strcmp(font_name, MEDIUM_FONT_NAME))
> {
> pFnt = UI().Font().pFontMedium;
> }
> else if(!xr_strcmp(font_name, SMALL_FONT_NAME))
> {
> pFnt = UI().Font().pFontStat;
> }
> else if(!xr_strcmp(font_name, LETTERICA16_FONT_NAME))
> {
> pFnt = UI().Font().pFontLetterica16Russian;
> }
> else if(!xr_strcmp(font_name, LETTERICA18_FONT_NAME))
> {
> pFnt = UI().Font().pFontLetterica18Russian;
> }
> else if(!xr_strcmp(font_name, LETTERICA25_FONT_NAME))
> {
> pFnt = UI().Font().pFontLetterica25;
> }
> else if(!xr_strcmp(font_name, DI_FONT_NAME))
> {
> pFnt = UI().Font().pFontDI;
> }else
> {
> R_ASSERT3(0,"unknown font",font_name);
> pFnt = NULL;
> }
> }
> return true;
> }
> 
> ```
> 
> Co może być interesujące:
> 
> - znane zmienne
> - arial\_14 nie używa zmiennej jak inne czcionki
> - jest funkcja R\_ASSERT:
> 
> ```auto
> R_ASSERT3(0,"unknown font",font_name);
> pFnt = NULL;
> 
> ```

**LISTA WSZYSTKICH MOŻLIWYCH CZCIONEK:**

> **Spoiler**
>
> ```auto
> "arial_14"
> 
> "medium"
> "small"
> 
> "graffiti19"
> "graffiti22"
> "graffiti32"
> "graffiti50"
> 
> "letterica16"
> "letterica18"
> "letterica25"
> 
> "di"
> 
> ```

**ŹRÓDŁO:**

[https://ap-pro.ru/forums/topic/1122-cop-gui-spisok-shriftov-v-igre/](https://ap-pro.ru/forums/topic/1122-cop-gui-spisok-shriftov-v-igre/)
