LINUX.ORG.RU

Посмотреть установленные шрифты

 ,


0

2

Скриптик для просмотра установленных щрифтов

#! /bin/sh

export FONTS_VIEW='<window window_position="1" title="FONTS_VIEW"  height-request="600" width-request="1500">
<vbox scrollable="true">

'`num=1; while read a; do
TEXT="Проверка шрифтов 0123456789  $a" 

echo '<text use-markup="true" xalign="0" wrap="false"  selectable="true" can-focus="no"><label>"'"$num $a"' <span font-family='"'$a'"' size='"'x-large'"'><big><big>'"$TEXT"'</big></big></span>"</label></text>'
num=$((num + 1))
done <<< $(fc-list : family | sort | uniq)`'

</vbox>
</window>'
gtkdialog --program=FONTS_VIEW

Какими шрифтами пользуетесь?



Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 1)

Я так понимаю, вся соль скриншота в вызове

gtkdialog

Откуда это чудо ставить? Гуглится плохо (гугл назойливо предлагает одноимённый сишный тип из GTK). AUR тоже в растерянности. Гитхаб предлагает несколько проектов, раз, два.

И да, тебя уже в прошлой теме про это спрашивали. Можешь сказать, какой у тебя дистрибутив, и какому пакету принадлежит исполняемый файл gtkdialog (лежит, скорее всего, в /usr/bin, но это неточно)?

P.S. А хотя стоп, насчёт AUR я, скорее всего, неправ. Есть такой пакет.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)

Смысла глядеть, как лиса перескакивает собаку не вижу

Основные шрифты Droid и Roboto, я их не меняю, на этом ноуте Droid:

$ for i in Sans, Serif, Monospace; do fc-match $i; done
DroidSans.ttf: "Droid Sans" "Regular"
DroidSerif-Regular.ttf: "Droid Serif" "Regular"
DroidSansMono.ttf: "Droid Sans Mono" "Regular"

В консоли Терминус ter-v32n, в терминале несколько.

dmitry237 ★★★★★
()

Какими шрифтами пользуетесь?

Битмапная версия Lucida Sans. Скриншот.

Важные для меня особенности:

  • Толстые вертикальные линии. Мне кажется, что это позволяет легче разглядеть текст.
  • Пропорциональность. Моноширинность - пережиток прошлого, слившийся с фольклором.
kaldeon
()
Последнее исправление: kaldeon (всего исправлений: 2)

У меня есть идея для новой публикации…

echo '<!doctype html>'
echo '<html>'
echo '<body>'
echo '<ol>'

fc-list : family |sort |uniq |while read -r s; do
	echo '<li>'
	echo "$s"
	echo "<span style=\"font-family: '$s';\">"
	echo 'the quick brown fox jumps over the lazy dog'
	echo '</span>'
	echo '</li>'
done

echo '</ol>'
echo '</body>'
echo '</html>'
kaldeon
()
Последнее исправление: kaldeon (всего исправлений: 6)
Ответ на: комментарий от hobbit

AUR тоже в растерянности

Та все там есть, просто это такая уже древность, давно исчезнувшая со всех ресурсов практически, что надо еще и vte-legacy оттуда же компилить. Хз, из какого века автор притащил эту статью, и, главное, зачем. Есть же штатные фонт манагеры и вьюверы во всех вменяемых DE.

Gonzo ★★★★★
()

./checkFonts.sh: 6: Syntax error: redirection unexpected

Windows ★★★
()
Ответ на: комментарий от kaldeon

У меня есть идея для новой публикации…

Это если нет gtkdialog, но есть браузер и sh))

#!/bin/sh
#
echo '<html > <head>
<title>FONTS</title>
 </head>
<body>' > /tmp/html_fonts.html

fc-list : family | sort | uniq | while read -r s; do
	
	echo "<p style=\"font-family: '$s';\">$s --- the quick brown fox jumps over the lazy dog</p>"
	
done >> /tmp/html_fonts.html

echo '</body></html>' >> /tmp/html_fonts.html

firefox /tmp/html_fonts.html &

Есть же штатные фонт манагеры и вьюверы во всех вменяемых DE

Без них можно посмотреть все сразу

nik120s
() автор топика
Ответ на: комментарий от hobbit

Вот тебе то же самое, только на чём-то живом (плюс ещё немного интерактивности…)

font-viewer.slint:

import { ScrollView, LineEdit, SpinBox } from "std-widgets.slint";

export component _ inherits Window {
  in property <[string]> fonts: [];
  in-out property <int> font-size: 10;
  in-out property <string> preview-text: "Съешь ещё этих мягких французских булок, да выпей чаю 0123456789";

  title: "Font Viewer";

  width: 600px;
  height: 400px;

  ScrollView {
    VerticalLayout {
      alignment: start;
      spacing: 5px;

      HorizontalLayout {
        alignment: stretch;
        spacing: 5px;

        SpinBox {
          value <=> root.font-size;
          minimum: 8;
          maximum: 20;
          width: 100px;
        }

        LineEdit {
          text <=> root.preview-text;
        }
      }

      for font[index] in root.fonts: HorizontalLayout {
        alignment: start;
        spacing: 5px;

        Text {
          text: index + 1;
        }

        Text {
          text: font;
        }

        Text {
          text: root.preview-text;
          color: green;
          font-family: font;
          font-size: root.font-size * 1px;
        }
      }
    }
  }
}

font-viewer:

#!/bin/bash

list_fonts() {
    local fonts=()
    readarray -t fonts < <( fc-list :lang=ru -f '%{family[0]}\n' | sort | uniq)

    echo -n '{"fonts":'
    jq --compact-output --null-input --join-output '$ARGS.positional' --args -- "${fonts[@]}"
    echo '}'
}

list_fonts | slint-viewer --load-data - font-viewer.slint

Из зависимостей нужны slint-viewer и jq.

theNamelessOne ★★★★★
()
Ответ на: комментарий от theNamelessOne

Из зависимостей нужны slint-viewer и jq.

На моей системз) такого нет,поэтому проверить нет возможности. Недавно запускал Debian live,удивился,что папка fonts размером ~1GB. Мой скриптик его не осилил))

nik120s
() автор топика
Ответ на: комментарий от kaldeon

Вот так получше будет:

echo "<!doctype html>"
echo "<html>"
echo "<body>"
echo "<table"

fc-list : family |sort |uniq | awk -F ',' '{print $NF}' |while read -r s; do
	echo "<tr>"
	echo "<td>$s</td>"
	echo "<td style=\"font-family: '$s';\">"
	echo "the quick brown fox jumps over the lazy dog"
	echo "</td>"
	echo "</tr>"
done

echo "</table>"
echo "</body>"
echo "</html>"
Puzan ★★★★★
()
#include <QApplication>
#include <QListWidget>
#include <QFontDatabase>

int main(int argc, char *argv[]) {
    QApplication a(argc, argv);
    QListWidget listWidget;
    for (const auto& fontName : QFontDatabase().families()) {
    auto* item = new QListWidgetItem(fontName);
    item->setFont(fontName);
    listWidget.addItem(item);
    }
    listWidget.show();
    return QApplication::exec();
}
cyberhoffman
()
Ответ на: комментарий от Puzan

Дык это bash. Запускаешь, выхлоп в файл html, файл открываешь в браузере.

Понял все ручками,без роботизации))

nik120s
() автор топика
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.