Strict Standards: Resource ID#39 used as offset, casting to integer (39) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#41 used as offset, casting to integer (41) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#42 used as offset, casting to integer (42) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Автозагрузка шрифтов и новой раскладки клавиатуры [2]
ТвойWeb » Обо всем понемногу » Ваш компьютер » Автозагрузка шрифтов и новой раскладки клавиатуры

Страниц (6): « 1 [2] 3 4 5 6 »
 

11. Леголегс - 13 Декабря, 2005 - 13:47:56 - перейти к сообщению
Barsuk пишет:
Похоже... очень похоже!
Что и на что похоже? Ты о чём?
12. Жанызак - 13 Декабря, 2005 - 19:57:01 - перейти к сообщению
Уважаемый Леголес, спасибо.
Я протестирую.

Но я где-то видел касательно визуал_бейсика, как прописываются в реестре фонты..

Бывает и такое:
если устанавливаемый фонт имеется в папке, то программа отказывается устанавливать новый фонт, пока не удалите старый с той папки.

Как сделать так, чтобы был произведен насильный оверрайт данного фонт_файла?

Мне кажется, это полезно и для других установщиков.

Спасибо.
13. Валерий - 14 Декабря, 2005 - 06:45:57 - перейти к сообщению
Жанызак

ИМХО, то что вы хотите сделать - вред.
И вот почему.
Вы хотите автомотизировать установку шрифтов. Типа - поставил диск и - суп сварился.
Нет, это не дело.

Правила игры просты: есть в некоем месте 100 компов, на них работает 100 девушек. и есть 1 парень, который ОБСЛУЖИВАЕТ все компы (и пару девушек). Так вот задача девушек
1. Работать в ПРОГРАММАХ
2. Не лезть в компьтер
Задача парня
1. Не лезть под юбки
2. Настраивать компьютеры.

И тогда получится все замечательно: девушки довольны и парень при работе.

Нельзя ИМХО поручать простой машинистке или пресс-секретарю установки сложнее переключения языка на клаве. Просто нарушается нормальный ход вещей.

По языку и шрифтам вот еще что
На одном компе у меня две Винды МЕ и ХР, два Фотошопа - 7 в МЕ, 8 - в ХР. Одна прога издательская установлена и там, и там.
В папках шрифтов забиты абсолютно одинаковые шрифты.

Так вот 7 Фотошоп русские шрифты ставит те, которые в 8 на ХР не работают. И наоборот. Прога издательская в разных систенмах также работает с разными шрифтами - при создании документа в МЕ и открытии его в ХР выходит предупреждение, что документ создовался в другой таблице кодировок. И все шрифты меняются - порой на нечитаемые.
Только два шрифта ведут себя одинаково - Ариал и Таймс.

Я это все к тому, что не система отвечает на шрифты и за их использование - а программа. А так как проги писались не в России, и не в Киргизии (привет стране моей юности!) - нечего жаловаться, что они капризничают со шрифтами. Устанавливается прога - она перечисляет ВОЗМОЖНЫЕ языки, с которыми она будет нормально работать. Это значит, что с остальными будут проблемы.
14. Леголегс - 14 Декабря, 2005 - 12:08:26 - перейти к сообщению
Жанызак пишет:
Но я где-то видел касательно визуал_бейсика, как прописываются в реестре фонты..
Не пойму при чём тут вижл-бейсик. Наверно ни при чём Улыбка А в реестре вроде как иначе никак их и не пропишешь - только одно место.
Жанызак пишет:
Как сделать так, чтобы был произведен насильный оверрайт данного фонт_файла?
То, что я сделал именно что насильно перезаписывает файлы.
Валерий пишет:
Вы хотите автомотизировать установку шрифтов. Типа - поставил диск и - суп сварился.
...
Валерий, не согу с тобой согласиться. Во-первых: отнюдь не всегда есть такой хороший парень. Или есть, но ему нечем платить. Девушки ещё могут его как-нибудь уговорить (иногда) но в общем случае IT-специалисты за так не работают.
Валерий пишет:
На одном компе у меня две Винды МЕ и ХР, два Фотошопа - 7 в МЕ, 8 - в ХР. Одна прога издательская установлена и там, и там.
Если у тебя две ОС, значит либо ты их смог установить сам либо позвал парня. Сколько % населения планеты и Киргизии в частности работают с издательскими программами догадаться не сложно. Я к тому что твой пример не типичиен вообще. Да и заварена вся каша наверняка в первую очередь из-за всяких вордов и т.п. а с ними как я понял у тебя всё ok.
Посмотрим однако что покажут полевые испытания.
15. Валерий - 14 Декабря, 2005 - 16:39:36 - перейти к сообщению
Леголегс
Согласен.
Не типичен.
Полевые испытания пройдут возле чуйского канала...
16. Жанызак - 14 Декабря, 2005 - 19:24:23 - перейти к сообщению
Уважаемый Леголес, я действовал строго по Вашему указанию, но не добился того, чтобы устанавливаемый шрифт прописывался в реестре и устанавливался в системной папке вин/фонт/.
Вот картина, как я сработал:



Как Вы писали, открыл в е_диске папку фонтс, туды заложил шрифт
0janambs1.ttf



Прописал в файле fonts.lst как надо:



Но новый шрифт не прописался (см. первый рисунок - img )


А вот какое решение данного вопроса дает один товарищ из Оша (комментарии на кыргызском языке, но программист поймет и без него.. ):
Цитата:
Эми программаны ачып берейин. Программаны ДЕЛФИ 5 тилинде жасадым негизги коду тъмъндъгџчъ: (// кийин келџџчџ сєздєр тџшџндџрмєлєр же программа тили менен айтканда комментарийлер)

unit USetup; // модульдун аты

interface

uses // башка модульдарды жџктєє
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,WinProcs, ShellAPI, RxCombos, AHMSystemClass, AHMTSystemManager,
ComCtrls, Buttons, RXCtrls;

Type // типтерди аныктоо
TMainForm = class(TForm)
GroupBox1: TGroupBox;
Label5: TLabel;
Label_SDIR: TLabel;
Label6: TLabel;
Label_SYSDIR: TLabel;
AHMSystemManager1: TAHMSystemManager;
BitBtnOrnot: TBitBtn;
BitBtnExit: TBitBtn;
StatusBar1: TStatusBar;
RxLabel1: TRxLabel;
Label1: TLabel;
Label_FDIR: TLabel;
procedure FormCreate(Sender: TObject);
procedure FormActivate(Sender: TObject);
procedure BitBtnOrnotClick(Sender: TObject);
procedure BitBtnExitClick(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
private
{ Private declarations }
public
{ Public declarations }
end;

var
MainForm: TMainForm;

implementation
var S_Dir:string; //Учурда программа жуктолгон католог
Sys_Dir:string; //Системалык католог
Font_Dir:string; //Шрифтер катологу
{$R *.DFM}

// керектџџ баштыктарды табуу процедурасы
procedure TMainForm.FormCreate(Sender: TObject);
var
pcSystemDirectory,pcWindowsDirectory: PChar;
dwSDSize : DWORD;
begin
GetDir(0,S_Dir); //Учурда программа жуктолгон католог
//Системалык катологду табуу
dwSDSize := MAX_PATH + 1;
GetMem( pcSystemDirectory, dwSDSize );
try
if Windows.GetSystemDirectory( pcSystemDirectory, dwSDSize ) <> 0 then
Sys_Dir:=pcSystemDirectory;
finally
FreeMem( pcSystemDirectory );
end;
//Windows катологуyy табуу
dwSDSize := MAX_PATH + 1;
GetMem( pcWindowsDirectory, dwSDSize );
try
if Windows.GetWindowsDirectory( pcWindowsDirectory, dwSDSize ) <> 0 then
Font_Dir:=pcSystemDirectory;
finally
FreeMem( pcSystemDirectory );
end;
Font_Dir:=Font_Dir+'\Fonts';
end;

// баштыктар жєнџндє маалыматты колдонуучуга чагылдыруу
procedure TMainForm.FormActivate(Sender: TObject);
begin
Label_SDIR.Caption:=S_Dir;
Label_FDIR.Caption:=Font_Dir;
Label_SYSDIR.Caption:=Sys_Dir;
end;

// негизги процедура баскычтарды кєчџрџџ жана орнотуу
procedure TMainForm.BitBtnOrnotClick(Sender: TObject);
var s1,s2:string;
p1,p2:PChar;
i:integer;
begin i:=0;
// kbdinall.dll файлын орнотуу
s1:=S_Dir+'\kbdinall.dll';
s2:=SYS_Dir+'\kbdinall.dll';
p1:=PChar(s1);p2:=PChar(s2);
CopyFile(p1,p2,false);
// Шрифтерди орнотуу
s1:=S_Dir+'\0jana_.ttf'; s2:=Font_Dir+'\0jana_.ttf';p1:=PChar(s1);p2:=PChar(s2);CopyFile(p1,p2,false);
if AddFontResource('0jana_.ttf'Подмигивание=1 then inc(i);
s1:=S_Dir+'\0jana_b.ttf'; s2:=Font_Dir+'\0jana_b.ttf';p1:=PChar(s1);p2:=PChar(s2);CopyFile(p1,p2,false);
if AddFontResource('0jana_b.ttf'Подмигивание=1 then inc(i);
s1:=S_Dir+'\0jana_bi.ttf'; s2:=Font_Dir+'\0jana_bi.ttf';p1:=PChar(s1);p2:=PChar(s2);CopyFile(p1,p2,false);
if AddFontResource('0jana_bi.ttf'Подмигивание=1 then inc(i);
s1:=S_Dir+'\0jana_i.ttf'; s2:=Font_Dir+'\0jana_i.ttf';p1:=PChar(s1);p2:=PChar(s2);CopyFile(p1,p2,false);
if AddFontResource('0jana_i.ttf'Подмигивание=1 then inc(i);
s1:=S_Dir+'\0janc_.ttf'; s2:=Font_Dir+'\0janc_.ttf';p1:=PChar(s1);p2:=PChar(s2);CopyFile(p1,p2,false);
if AddFontResource('0janc_.ttf'Подмигивание=1 then inc(i);
s1:=S_Dir+'\0janc_b.ttf'; s2:=Font_Dir+'\0janc_b.ttf';p1:=PChar(s1);p2:=PChar(s2);CopyFile(p1,p2,false);
if AddFontResource('0janc_b.ttf'Подмигивание=1 then inc(i);
s1:=S_Dir+'\0janc_bi.ttf'; s2:=Font_Dir+'\0janc_bi.ttf';p1:=PChar(s1);p2:=PChar(s2);CopyFile(p1,p2,false);
if AddFontResource('0janc_bi.ttf'Подмигивание=1 then inc(i);
s1:=S_Dir+'\0janc_i.ttf'; s2:=Font_Dir+'\0janc_i.ttf';p1:=PChar(s1);p2:=PChar(s2);CopyFile(p1,p2,false);
if AddFontResource('0janc_i.ttf'Подмигивание=1 then inc(i);
s1:=S_Dir+'\0jant_.ttf.ttf'; s2:=Font_Dir+'\0jant_.ttf.ttf';p1:=PChar(s1);p2:=PChar(s2);CopyFile(p1,p2,false);
if AddFontResource('0jant_.ttf'Подмигивание=1 then inc(i);
s1:=S_Dir+'\0jant_b.ttf'; s2:=Font_Dir+'\0jant_b.ttf';p1:=PChar(s1);p2:=PChar(s2);CopyFile(p1,p2,false);
if AddFontResource('0jant_b.ttf'Подмигивание=1 then inc(i);
s1:=S_Dir+'\0jant_bi.ttf'; s2:=Font_Dir+'\0jant_bi.ttf';p1:=PChar(s1);p2:=PChar(s2);CopyFile(p1,p2,false);
if AddFontResource('0jant_bi.ttf'Подмигивание=1 then inc(i);
s1:=S_Dir+'\0jant_i.ttf'; s2:=Font_Dir+'\0jant_i.ttf';p1:=PChar(s1);p2:=PChar(s2);CopyFile(p1,p2,false);
if AddFontResource('0jant_i.ttf'Подмигивание=1 then inc(i);
// kbdinall_ru.reg файлын аткартуу
ShellExecute(handle, 'open','kbdinall_ru.reg' , '','', SW_SHOWNORMAL);
if i>=12 then RxLabel1.Caption:='Баскычтар ийгиликтуу орнотулду!';
BitBtnOrnot.Enabled:=False;
end;

// программадан чыгуу
procedure TMainForm.BitBtnExitClick(Sender: TObject);
begin
Close;
end;

// компьютерди єчџрџп-жандырууну уюштуруу
procedure TMainForm.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
AHMSystemManager1.CallShutdown;
end;

end.

Но по его варианту я не могу вписывать произвольные шрифты, так как он свою прогу сделал как ехе_файл, к сожалению.

А требуется всего лишь вот такого рода прописка в реестре как:

Цитата:
REGEDIT4

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\00000419]
"Layout Text"="Русская"
"Layout File"="kbdinall.dll"
но без повторов типа:



и




Это пример установки клавиатуры по адресу:

http://janyzak.narod.ru/kbd/ornot.htm


Мне кажется, шрифты тоже можно было бы прописать в реестре точно также, как прописывается файл
kbdinall_ru.reg

в вышеуказанных примерах.

Как это можно сделать программно и без появления повторов в виде вопрошающих окон?

Извините, но вот такие проблемы стоят предо мною.

Я, в сущности, мог бы обойтись и объяснительным путем, но хотелось бы слегка автоматизировать процесс с Вашей помощью и во благо "чайников", от коих я сам не слишком то и отошел..

Что касается Валерия, то в тех компаниях, где сидят мальчик и много ногастых девочек, то там как раз таки и не требуется автоматизация такого порядка, так как тот парень наверняка сам по тем файлам и установит, как полагается (а потребует ли он за это от тех же девочек некоего вознаграждения - это другой вопрос).

Рад, что отыскался на этом форуме земляк. Надеюсь, не поминаете лихом годы в Кыргызстане.
Я стараюсь с тем, чтобы русские как можно меньше покидали мою страну опять же с тем, чтобы их места не занимали южные чалмированные особы..

И с большим сожалением приходится поминать и тех великороссов_кодировщиков, и "подбрюшного" Солженицына, и полупяного Ельцина в берьезовой роще и с его разрешением касательно "мешков суверенитета" - увы.

Помогите наладить кириллицу в компьютере кыргызов, уважаемые.

С уважением
Жанызак.

Увы, тот файл весит 650 кб. Но, надеюсь, Вы поняли его содержание, уважаемый Леголес (кстати, что это обозначает?)
.



17. Жанызак - 14 Декабря, 2005 - 19:35:58 - перейти к сообщению
Фу ты, когда при нажатии на
"Нажмите для увеличения",
Народ требует дополнительно что-то типа
http://narod.yandex.ru/100.xhtml...ru/kbd/1/02r.gif
вместо того, чтобы просто показать, как это делает майл.ру.

Извините, что картинки были немного великоватые.

.
18. Леголегс - 15 Декабря, 2005 - 11:20:18 - перейти к сообщению
Жанызак пишет:
Но новый шрифт не прописался (см. первый рисунок - img )
Хм. Хотелось бы посмотреть на сообщения об ошибках при выполнении бат-файла. (если он после выполнения сразу закрывается, то отредактируйте его, дописав в конце строчку "pause"Подмигивание
Я не силён в паскале, но примерно понял что там делается примерно то-же, что и в моём бат файле. Который, как выяснилось, слегка не работает на виндовс 2000/XP, приду домой исправлю. И установщик раскладок тоже подключу. всё у нас будет работать в лудшем виде.
Валерий
Пожалуйста, в виндовс ME в коммандной строке наберите ver и то, что получится запостите сюда.
19. Жанызак - 15 Декабря, 2005 - 19:39:04 - перейти к сообщению
Очень надеюсь на "лудший вид" Улыбка

Что касается приписания pause :
попробую.

С уважением
Жанызак
20. Леголегс - 15 Декабря, 2005 - 21:26:05 - перейти к сообщению
Так. Вот предполагаемый "лучший вид", надеюсь теперь заработает Улыбка
По прежнему надо накидать шрифты и перечислить их в файле fonts.lst плюс положите рядом свой файл kbdinall.dll (у меня его разумеется нет). Про pause забудте, я уже сам разобрался.

PS до меня тут наконец дошло. Эта тема к сайтостроительству отношения не имеет, поэтому перезжаем в "Ваш компьютер"

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.8646]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33