All streams
Search
Write a publication
Pull to refresh
15
0
Send message
Если завести в xorg.conf отдельные секции каждому монитору, то там можно тоже указывать свой dpi каждому монитору.

А влияет на все, что актуально только для ноута чтобы не создавать полноценный xorg.conf
У меня в логах такое:
[ 7.981] (II) intel(0): Using exact sizes for initial modes
[ 7.981] (II) intel(0): Output eDP1 using initial mode 2560x1600 +0+0
[ 7.981] (II) intel(0): Using default gamma of (1.0, 1.0, 1.0) unless otherwise stated.
[ 7.981] (II) intel(0): Kernel page flipping support detected, enabling
[ 7.981] (++) intel(0): DPI set to (175, 175)

[ 8.009] (II) intel(0): Setting screen physical size to 371 x 232

Это я поставил 175 для kdm и оперы, а в kde задано 226, OOo подтягивает настройки для kde.

Может такое работает только в более новых иксах, попробуте 2й вариант, задав размер в миллиметрах.
У меня оба варианта работают.
X.Org X Server 1.14.4
А Вы в какой секции указали?

Для монитора или видеокарты?
Это параметр-синоним для
DisplaySize width height
This optional entry gives the width and height, in millimetres, of the picture area of the monitor. If given this is used to calculate the horizontal and vertical pitch (DPI) of the screen.

Это из man xorg.conf

Но DPI писать нагляднее.

В тесте я указал:
# DisplaySize 286 179 # тоже самое In millimeters
> Это не DPI, а «проценты».

Проценты — было бы 226% :)
Зато далее Вы правильно написали.

> достаточно задать параметр -dpi для X и указать правильный dpi в fonts.conf

Не достаточно, не хотят смотреть на это смотреть очень многие программы, хотя было бы очень удобно.
Я как раз и начинал с -dpi 226, т.к. помнил про этот параметр ещё где-то с 2005-го, и думал как просто всё будет.
> Это работает только в проприетарном драйвера nVidia.

Это работает для всех современных драйверов от xorg, почитайте документацию.

У меня встроенное видео от Intel.
NVidia никогда не покупаю из-за того что нет нормальных открытых дров.
Chromium, в отличие от Chrome, можно пересобрать с флагом -Denable_hidpi=1 и получить доступ к этому флагу.
Но я сомневаюсь что это многие будут сделать.
Для windows доступность флаг можно активировать каким-то ключём в реестре.

Так что указание на доступность только в Chrome OS не корректно.

PS Надо будет глянуть что стоит в mac os, но пока лень перегружаться.

В ff и хроме заметны отличия.
Надо будет порыться можно ли выставить webkitBackingStorePixelRatio или devicePixelRatio, подход сафари выглядит более правильным — на ноуте в mac os сафари выглядит лучше хрома.
Думаю что это зависит от того как далеко Вы сидите от монитора.
Я свои глаза берегу (у меня 100% зрение), поэтому держу монитор ноута на расстоянии 60 см, дальне можно только с внешней клавиатурой.
А от настолького вообще на расстоянии 80..100 см сижу.

Но так же предпочитаю чтобы для работы с текстом и картинками был правильный размер — я специально отметил OpenOffice по этой теме.
> x86_64 из-за отсутствующей зависимости libasound2-plugins:i386

Тут уже на телефоны стали ставить 64-битные OS, на домашнем компе 32-битная система скоро станет большой редкостью,
а 64-битного Скайпа как не было, так и нет.
Это просто изучение спроса — какие зоны надо подключить.

А набрать доменов для перепродажи — этим salenames занимается
Просто пообщайтесь с людьми.

Не редко программисты даже не знают что могут получить строку, на которую среагирует is_utf8(), но там будут байты.

Я летом у на работе нашёл (и потом выкинул) код, который имел автоопределение utf8 по такому алгоритму:
получили строку $a
eval{ decode($a) }
проверка на is_utf8, если прошло — значит считаем что теперь у нас utf8 символы

А люди, которые использовали его код не могли понять почему он иногда глючит.
Ну значит он один из тех кто создаёт терминологическую путаницу.

Везде говоря что строка с флагом по умолчанию понимают что мы работаем с символами, а без флага — с байтами.
> нашёл похожую статью на английском

Просто ещё одна неверная интерпретация из-за функции utf8::is_utf8()
Именно она и utf8 valid вносят кучу неразберихи и непонимания как оно работает внутри.
В результате люди в коде делают баги — нередко видел что после utf8::is_utf8() думают что в строке utf8-символы,
а это не всегда так (да и сам лет 5 назад такие ошибки допускал).
> То что регэксп не работает — это The Unicode Bug

Для regexp-а строки 'аа' и x{d0}\x{b0}\x{d0}\x{b0} выглядят одинакого — он видит байты, не символы.

Смысл введения флага был в том чтобы функции могли отличать строки в байтах от строк с символами, и не надо было в каждую функцию передавать доп.параметр как разбирать строку.

В mysql, например, из-за этого пришлось вводить разные функуции: длинна в байтах leght(), в символах — char_leght()
> Дальше этот пример не изучал.

Я изучал — с байтами upgrade/downgrade работают, переводя строки между внетренним и обычным представлением строки, а вот символы бывают только во внутреннем, поэтому upgrade/downgrade для них бесполезны.

Ещё более интересны encode/decode.

utf8::decode может поднять строку только до символов и останавливается, а вот utf8::encode может бесконечно менять строку

код:
my $a = «ая»;

print Dumper( $a );
utf8::decode( $a );
print Dumper( $a );
utf8::decode( $a );
print Dumper( $a );
utf8::encode( $a );
print Dumper( $a );
utf8::encode( $a );
print Dumper( $a );
utf8::encode( $a );
print Dumper( $a );
utf8::encode( $a );
print Dumper( $a );

результат:
$VAR1 = 'ая';
$VAR1 = "\x{430}\x{44f}";
$VAR1 = "\x{430}\x{44f}";
$VAR1 = 'ая';
$VAR1 = 'аÑ';
$VAR1 = 'ðÃÂ';
$VAR1 = 'ÃÂðÃÂÃÂ';

decode() строки вида 'аÑ'; и др. понимает и приводит из к нормальному виду, что бывает полезно.
В документации прямо и пишут «the internal representation», т.е. внутреннее представление, а не flaged или что-то подобно
Во внутреннем представлении можно писать символы в любой кодировке.
Вот, например, украинские буквы из cp1251:
\xAA\xBA\xA5\xB4\xB2\xB3\xAF\xBF — это єіїґ, маленкие и большие,
и к utf8 они никаким боком не относятся.

Вы даже сами процитировали одну из строк с этим термином.
И этот термин был ещё до появления utf8 в перле — поищите документацию по первым версиям 5-го перла.

> my $s1 = «x{d0}\x{b0}\x{d0}\x{b0}»;

Это некорректное присвоение, т.е. Вы не то присвоили, это Dumper так выводит стоки.
Надо было
my $s1 = 'аа';
utf8::upgrade($a);

Соответсвенно и результат не тот.

Строка в utf8 с флагом — это именно символы, а без флага — байты, это тоже можно проверить regexp-ом
В статье есть некоторые ошибки.

Функция utf8::is_utf8() к сожалению показывает не наличие флага у строки, а внутреннее это представление или нет.

Строка «аа» во внутреннем представлении перла без флага выглядит так: \x{d0}\x{b0}\x{d0}\x{b0}
а с флагом вот так: \x{430}\x{430}

И функция utf8::is_utf8() на оба варианта вернёт истину.

В каком виде строка лучше всего смотреть через Data::Dumper.
Берём простой пример

use Data::Dumper;
use Modern::Perl;

my $a = «аа»;
my $z = «яя»;

print Dumper( $a );

utf8::upgrade( $a ); # перевели во внутреннее представление только чтобы показать что оно отличается от флаговой стоки

print Dumper( $a );

utf8::decode( $a );

print Dumper( $a );

my $qq = "$z. $a";

print Dumper( $qq );

Его результат будет таким:
$VAR1 = 'аа';
$VAR1 = "\x{d0}\x{b0}\x{d0}\x{b0}";
$VAR1 = "\x{430}\x{430}";
$VAR1 = "\x{d1}\x{8f}\x{d1}\x{8f}. \x{430}\x{430}"

А то что \x{d1}\x{8f}\x{d1}\x{8f} — это не флаговая строка лучше всего Вам покажет regexp,
в нефлаговых строках \s пересекается с кириллицей по 1 букве в маленьких и заглавных буквах:

my $a = «абвгдеёжзийклмнопрстуфхцчшщъыьэюя»;
utf8::upgrade( $a );
print «1\n» if $a =~ /\s/;

напечатает единицу, а код

my $a = «абвгдеёжзийклмнопрстуфхцчшщъыьэюя»;
utf8::decode( $a );
print «1\n» if $a =~ /\s/;

ничего не напечатает — потому что мы повесили флаг на $a и буква «х» стала единым целым,
а не двумя половинками, одна из которых совпадает с пробельным символом.

PS чтобы использовать Encode::encode, Encode::decode не обязательно подключать модуль Encode,
проще использовать utf8::decode() и utf8::encode() чтобы не засорять namespace модуля/скрипта
Из крупных компаний очень многие используют perl, не только для админки.

А если инет компания ещё и относительно старая, то у неё будет perl в 99,9%

Дивов это недавно хорошо описал в книге «Объекты в зеркале заднего вида» — там американцы построили завод в России и описаны отношения

Information

Rating
Does not participate
Registered
Activity