Могу ли я вызвать некоторую функцию FontForge в моем собственном проекте на C #? - PullRequest
0 голосов
/ 24 января 2012

Я успешно установил Cygwin и FontForge в операционной системе Windows7, и они, кажется, работают очень хорошо. Я считаю, что FontForge - мощный инструмент ~~ Однако у меня очень наивный вопрос ... Могу ли я вызвать некоторую функцию FontForge в мой собственный проект C #? Я впервые использую проект с открытым исходным кодом, и я не знаю, как объединить исходные коды с моими собственными кодами ~

1 Ответ

1 голос
/ 13 ноября 2012

В настоящее время я создаю проект, использующий fontforge, и вызываю его из C # как процесс, запускающий bash.exe и запускающий fontforge в качестве аргументов командной строки.

Вот пример:

Process p = new Process();
string cygwinDir = @"c:\cygwin\bin";
p.StartInfo.FileName = Path.Combine(cygwinDir, "bash.exe");
p.StartInfo.Arguments = "--login -c \"fontforge.exe -script '" + this.cygwinWorkPath + "script.pe";
p.StartInfo.WorkingDirectory = this.windowsWorkPath;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
p.Start();
p.WaitForExit();

var standardError = p.StandardError.ReadToEnd();
var standardOutput = p.StandardOutput.ReadToEnd();
var exitCode = p.ExitCode;

cygwinWorkpath - это что-то вроде / myworkfolder, а windowsWorkPath - как c: \ cygwin \ myworkfolder.

...