2013-08-09 9 views
5

Nie można wygrać w bitwach czcionek emacs w systemie Debian Linux + fluxbox.emacs nie używa czcionek z/usr/share/fonts

Należy wspomnieć, że nie mam absolutnie żadnego doświadczenia w fontconfig, więc brakuje mi czegoś oczywistego.

Próbuję użyć niektórych czcionek systemowych z/usr/share/fonts, takich jak DejaVu pod emacs, ale bez powodzenia.

Próbowałem:

1. Wymieniona na wielu zasobów polecenia jak

(set-default-font "DejaVu Sans Mono-12") 

powroty "font niedostępne" dla prawie wszystkich fontName próbowałem.

2.

Shift+Mouse-Left-Click->Change Text Font -> 

daje bardzo małą listę dostępnych czcionek z dwóch lub trzech i różnych rozmiarach.

3. Próbowałem:

ln -s /usr/share/fonts ~/.fonts 

i nic

4. spróbował wykorzystać xset metody (znaleziono takiej metody na ArchLinux wiki i ślepo sprawdzone)

cd /usr/share/fonts/truetype/ttf-dejavu 
sudo mkfontdir 
xset +fp /usr/share/fonts/truetype/ttf-dejavu 
xset fp rehash 

nic

5. nawet straced emacsowi za dojazd do katalogów z nazwą czcionki:

2>&1 strace -f emacs-24.3.1 > ./t.txt 

ale

grep -i font ./t.txt 

daje tylko:

[pid 18809] writev(3, [{"b\1\6\0\17\0\1\0", 8}, {"XFree86-Bigfont", 15}, {"\0", 1}], 3) = 24 

i nic o katalogach jak ~/.fonts lub/usr/share/fonts

W tym samym czasie:

% fc-list|grep -c deja 
42 

Jak to działa? :(Mb i nie rozumiem jakiegoś głównego pomysłu?

UPDATE: Użyłem opensoop -v monitorować co ścieżka używa emacsowi na moim laptopie (pod OS X), aby uzyskać czcionek, ale to nie ma nic wspólnego ze ścieżkami linux OFC :(

Czy ktoś pod linux emacsowi ślad za otwarcie czcionek dać wskazówkę co należy skonfigurować ścieżki.

2>&1 strace -f emacs |grep -i font 

będzie wystarczająco myślę

+0

Skąd bierzesz swoje Emacs? Jaka to wersja? (Dowiedz się od Emacsa o ekranie, do którego możesz dotrzeć przez 'Ch Ca' - co oznacza" naciśnij Control-H, potem Control-A ", i jest przykładem notacji Emacsa dla klawiszy, znajomość której jest konieczna do płynnego korzystania z Emacsa.) Obecna wersja Emacsa to 24,3; wszystko starsze niż 23.x będzie brakowało znacznej liczby przydatnych funkcji. Podobnie jak w przypadku np. Perl, sprzedawcy czasami robią głupie rzeczy, gdy pakują Emacsa do dystrybucji, więc możesz rozważyć budowę własnego. –

+0

Próbowałem zarówno wersji: jeden pochodzący z debian % emacs version GNU Emacs 23.4.1 i świeżego kompilacji % ./emacs version GNU Emacs 24.3.1 pobrać z poza zakładem. Wydaje się, że jest to coś z konfiguracją systemu lub X jako całości. Ale wszystkie inne aplikacje, których używam, widzą znacznie więcej czcionek, szczerze mówiąc, nigdy nie spotkałem się z taką sytuacją i dlatego nie ma w nich żadnych doświadczeń - bitwa :( – sohel

+0

Czy próbowałeś ustawić bezpośrednio atrybuty twarzy? Tzn. atrybut 'default zero: family "DejaVu Sans Mono": wysokość 120) 'zamiast' set-default-font'? Nawiasem mówiąc, 'set-default-font' jest przestarzałe, użyj' set-frame-font'. – lunaryorn

Odpowiedz

4

była moja wina.

Sprawdziłem komendą ldd i zobaczyłem, że nie ma zależności od libfreetype.

I tylko konfiguracja jak:

./configure --with-x-toolkit=gtk 

dodana zależność biblioteki freetype na binarny. Od teraz wszystko jest w porządku.

Jeszcze jedna uwaga na temat błędów "domyślnych emacsów systemowych". System plików binarnych Emacsa uważałem za systemowy, był również tworzony niestandardowo dawno temu (również bez obsługi typu freetype), a zgodnie z konfiguracjami moich ścieżek ten niestandardowy został wykonany, gdy po prostu wpisałem "emacs" bez specyfikacji ścieżki.

Bardzo się wstydzę, przepraszam za taką błędną konfigurację. Szczerze mówiąc bardzo dziwne, że nie skonfigurowano domyślnej obsługi freetype.

+0

Użycie freetype i GTK jest domyślne w 24.3 Czy budujesz starszą wersję? – JSON

+0

@JSON Jak wspomniano powyżej zbudowałem 24.3 efile zależy od pakietów, które masz w momencie konfiguracji. Brak bibliotek deweloperskich gtk? Otrzymasz './Configure': ' Czy Emacs używa -poziomu tekstu? no' Po zainstalowaniu './configure' daje: ' Czy Emacs używa -lfreetype? tak ' Ale z kluczem' ./configure --with-x-toolkit = gtk', configure spowoduje błąd w przypadku nieobecności biblioteki gtk-dev. Bez tego klucza po prostu wyłącza funkcjonalność. – sohel