2014-09-09 5 views
0

WPF 응용 프로그램에서 다양한 기호 (수학, 물리 등)를 나타낼 필요가 있습니다.WPF 응용 프로그램의 심볼 렌더링

텍스트를 특수 형식으로 읽고 WPF 캔버스에 표시 할 수있는 수식이나 기호로 변환 할 수있는 방법이 있습니까?

감사합니다.

+0

사용자 지정 조작을 사용합니다. 그렇지만 기본 wpf는 그러한 해석을 지원하지 않습니다. – pushpraj

+0

[WPF-Math] (https://launchpad.net/wpf-math)라는 프로젝트가 있습니다.하지만 필요한 작업을 정확히 수행 할 수 있지만 몇 년 동안은 활발히 개발되지 않았습니다. – Icemanind

+0

감사합니다. @pushpraj; 이것에 대한 조언을 제공해 주시겠습니까? –

답변

3

내가 할 일은 내 자신을 굴려 라. 그렇게하기가 어렵지 않다. STIX font's은 1700+ 수학 및 엔지니어링 기호를 글꼴 형식으로 제공하며 무료 글꼴을 사용합니다. TTF port from here을 다운로드 할 수 있습니다. 응용 프로그램 내에 글꼴을 포함시키는 것이 좋습니다. This blog이 방법을 알려드립니다. 마지막으로 텍스트를 적절한 기호에 매핑하는 일종의 마크 업을 만듭니다. 예를 들어 {PI}은 PI 기호를 나타내는 글꼴의 유니 코드 문자에 매핑 할 수 있습니다. 컴퓨터에 글꼴을 설치 한 다음 this page으로 이동하여 모든 문자 모양과 해당 문자가 매핑되는 유니 코드 문자를 볼 수 있습니다. 그래서 당신의 매핑 기능의 예는 다음과 같습니다

private string MarkupToUnicode(string markup) 
{ 
    markup = markup.Replace("{PI}", "\U000003D6"); 
    markup = markup.Replace("{PHI}", "\U000003D5"); 

    return markup; 
} 

이 제대로 this page에 따르면, PI 기호와 PHI 기호를 매핑합니다. 물론 사용하려는 여분의 심볼을 추가해야합니다. (예, 지루한 작업을 알고 있습니다.)

마크 업 코드를 적절한 유니 코드로 대체 한 후에는 텍스트를 TextBlock 객체에 추가하려면 TextBlock의 FontFamily 속성을 포함 된 STIX 글꼴로 설정 한 다음 캔버스와 비올라에 TextBlock을 배치하십시오!

+0

감사합니다. :) –

-1

"특수 문자 또는 기호"를 원할 때는 글꼴 대신 이미지를 사용해야합니다.

이미지와 같은 기호를 찾아 WPF Canvas에서 사용하는 것이 좋습니다.

-1

이 기호를 벡터로 표현하면 WPF 경로 (또는 기하학) 객체로 쉽게 변환 할 수 있으므로 WPF 형식에서 사용할 수 있습니다.

+0

** 쉽게 ** ...? 이 질문에 대한 대답이라고 생각하지 마십시오. – Carsten

관련 문제