2011-05-04 3 views
6

C#에서 텍스트 하이픈을 수행하는 샘플 프로젝트를 찾고 있습니다. 이론적으로 이것은 TeX 하이픈 넣기 알고리즘 또는 유사한 것으로부터 파생됩니다. 나는 현재 영어에 관심이 있지만 다른 언어가 필요할 수도 있습니다. 누구든지 그런 걸 본거야? background CoreText를 사용하는 MonoTouch 프로젝트에 이것을 포함시킬 계획입니다.하이픈 넣기 C#

답변

3

분명히 Donald Knuth의 알고리즘이 우수합니다. 사용할 수있는 C# 구현은 없지만 다른 구현을 C#으로 변환하는 것을 고려 했습니까? (예를 들어, C#에 상당히 가까운 Java 구현을 변환 할 수 있습니다.)

또 다른 옵션은 this answer here on StackOverflow에서 찾을 수있는 더 간단한 구현을 사용하는 것입니다.

+0

감사합니다. Jason. 누군가가 이미 TeX 버전을 C#으로 변환했으면 좋겠어. 직접 변환해야 할 수도 있습니다. 자바 언어 버전을 어디서 찾을 수 있는지 알고 있습니까? – Ethan

+0

Liang의 Java 구현을 위해 TeXHyphenator-J를 살펴 보자. http://www.davidashen.net/texhyphj.html –

4

https://github.com/alkozko/NHyphenator에 Knuth-Liang 하이픈 넣기 알고리즘의 C# 구현이 발견되어 제대로 작동하는 것 같습니다.

  1. 그것은 하이픈 패턴이 아웃 - 오브 - 박스 파일 (단, 이들에 대한 지원을 추가하는 것은 사소한 것) 텍을로드 할 수 없습니다 :

    은 그러나 현재 두 가지 단점이 있습니다.

  2. 소스 코드에 어떤 라이선스가 적용되는지 확실하지 않습니다.
+0

http : //와 같이 파일을 변환하는 방법에 대한 힌트를 제공 할 수 있다면 mirror.ctan.org/language/hyph-utf8/tex/generic/hyph-utf8/patterns/tex/hyph-el-monoton.tex 어떤 파일 내용을 모르는 사람들을 위해 NHyphenator가 사용하는 형식으로 어느 것이 든 형식 의미, 그것은 좋을 것이다. 나는이 라이브러리를 너무 사용하고 싶어한다. 그리고 파일 내용을 이해하기 위해 알고리즘 세부 사항을 읽기 시작하면 아마도 내가 직접 다시 구현하게 될 것 같아 걱정된다. : – NoOne

+0

파일 형식, 필자는'\ hyphenation {}'의 내용을'hyph - ***. hyp.txt' 파일과'\ patterns {}'의 내용에 복사 할 필요가 있다고 생각합니다. 'hyph - ***. pat.txt' 파일에 ... 흠 ... 그걸 파서로 만들지는 못합니다 ... – NoOne