์ด๊ฒ์ ๊ฐ์ ์์ฒญ์ ๋๋ค.
๊ธด ํ
์คํธ ์ค ๋ชฉ๋ก์ด ์์ผ๋ฉฐ ๊ฐ ์ค์ ์์์ด ๋ค๋ฅผ ์ ์์ต๋๋ค. RichTextArea
์ ์ถ๊ฐํ๊ณ ์ถ์ต๋๋ค. Append
์ฌ์ฉํ๋ฉด ์๋ํ์ง๋ง ์ฑ๋ฅ์ด ์ข์ง ์์ต๋๋ค.
RichTextArea
๋ฅผ ์ ๊ฒฝ์ฐ์ง ์๊ณ RTF ๋ฌธ์์ด์ ๊ตฌ์ฑํ๋ ๋ฐฉ๋ฒ์ ๊ฐ์ง ์ ์๋ค๋ฉด ์ข์ ๊ฒ์
๋๋ค. ๊ทธ๋ฌ๋ฉด ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ RichTextArea.Rtf
๋ฅผ ์ค์ ํ ์ ์์ต๋๋ค.
RTF๋ฅผ ๊ตฌ์ฑํ๊ธฐ ์ํด ๋ค๋ฅธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ๊ฐ๋ฅํ์ง๋ง Eto์ ๋น๊ตํ์ฌ ๋ค๋ฅธ ํด๋์ค/์ ํ(์: Font
, Color
...)์ ์ฌ์ฉํ๊ณ ์ฌ์ ํ ์ฌ์ฉํ๊ณ ์ถ์ต๋๋ค. ๋์ผํ RichTextArea
๋ํ Append
๋ฉ์๋.
@katatunix๋ , ์์ฒญํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ ๋ ์ค์ ๋ก RichTextArea์ ๋์ผํ API๋ฅผ ๊ฐ์ง๊ณ ์์ง๋ง ๋ณ๋๋ก ๊ตฌ์ฑํ ๋ค์ ์ด๋ฅผ RichTextArea์ ์ถ๊ฐ(๋๋ ์ค์ )ํ ์ ์๋ ์ด ๋ผ์ธ(์ผ์ข ์ TextBuffer)์ ๋ฐ๋ผ ์์ ํ๊ณ ์์ต๋๋ค.
๋ด๊ฐ ํ๊ณ ์ถ์ ํ ๊ฐ์ง๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค๋ ๋์์ ๊ตฌ์ฑํ ์ ์๋๋ก ๋ง๋๋ ๊ฒ์ด์ง๋ง ๋ถํํ๋ ๋ชจ๋ ํ๋ซํผ์ด ์ด๋ฅผ ์ง์ํ๋ ๊ฒ์ ์๋๋๋ค. ๊ทธ๋๋ ์์ง ์กฐ์ฌ ์ค์ ๋๋ค.
์ด์ ๋ํ ์ฝ๋๊ฐ ์์ผ๋ฉด ์ดํด๋ณด๊ณ ์ถ์ต๋๋ค.
@LaraSQP ์ง๊ธ๊น์ง์ ์์ ์ PR #1507์ ์ ๋ก๋ํ์ต๋๋ค.
RichTextArea
์ปจํธ๋กค์ ๋ช ๊ฐ์ง ์์ฑ(๊ธ๊ผด + ์คํ์ผ, ์ + ๋ค ์์)๋ง ์ฒ๋ฆฌํ๋ฏ๋ก rtf ๋ฌธ์์ด์ ๊ตฌ์ฑํ๋ "๋จ์" rtf ํด๋์ค๋ฅผ ์์ฑํ ๋ค์ RichTextArea.Rtf
์ฌ์ฐ?
๋ค์๊ณผ ๊ฐ์ ๊ฒ:
https://www.codeproject.com/Articles/30902/RichText-Builder-StringBuilder-for-RTF
๋ด๊ฐ ์ฌ๊ธฐ์์ ๋ญ๊ฐ๋ฅผ ๋์น๊ณ ๋ค์ ๋ฐ๋ณด์ฒ๋ผ ๋ณด์ด๋๊ฐ?
@LaraSQP ์๋์, ์์ ํ ์๋ํฉ๋๋ค. GTK๋ RTF๋ฅผ ์ง์ํ์ง ์์ต๋๋ค.
Eto๊ฐ ํด๋น ๊ธฐ๋ฅ์ ์ง์ ์ ๊ณตํ ํ์๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ธ๋ถ RTF ๋น๋๋ฅผ ์ฌ์ฉํ ๋ค์ Eto์ ์ ์ด์ ๊ณต๊ธํ ์ ์๋ ์ด์ ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
GTK ๋ฐ RTF์ ๋ํด ๋ชฐ๋์ต๋๋ค. ์ ๋ง ์ง์ฆ๋๋ค์.
์ธ๋ถ RTF ๋น๋๋ ์๋ณธ ํฌ์คํฐ(Eto์ ๋น๊ตํ์ฌ ๋ค๋ฅธ ํด๋์ค/์ ํ, ์: ๊ธ๊ผด, ์์ ...)์ ์ํด ์ ๊ธฐ๋ ๋ฌธ์ ๋๋ฌธ์ ๊ทธ๋๋ก ์๋ํ์ง ์์ผ๋ฉฐ ์ด๋ค ๊ฒฝ์ฐ์๋ RTF ์คํธ๋ฆผ์ ๋ค์๊ณผ ๊ฐ์์ผ ํฉ๋๋ค. GTK๊ฐ ํ์ํ ์ ์๋ ๊ฒ์ผ๋ก ๋ณํ๋ฉ๋๋ค. ๋ฐ๋ผ์ TextBuffer
.
๊ฟฐ๋งค๋ค
@LaraSQP ์ด๋ก ์ ์ผ๋ก ์ธ๋ถ ๋๊ตฌ/API๋ฅผ ์ฌ์ฉํ์ฌ RTF๋ฅผ ๋น๋ํ ๋ค์ Eto์ ๋ก๋ํ ์ ์์ต๋๋ค. Eto์ ๊ธ๊ผด/์์์ ์ฌ์ฉํ๊ณ ์ ๋ง๋ก ํ์ํ ๊ฒฝ์ฐ RTF ์นํ์ ์ธ ํ์์ผ๋ก ๋ณํํ ์ ์์ต๋๋ค.
๊ทธ๋ฌ๋ RTF์ ๋ฌธ์ ๋ ๊ทธ๊ฒ์ด "ํ์ค"์์๋ ๋ถ๊ตฌํ๊ณ ์ค์ ๋ก ํ๋ซํผ(์ต์ํ Mac vs. Windows)์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ๊ตฌ์ฑ๋๋ค๋ ๊ฒ์ ๋๋ค. ํนํ RTF์ ์ง์ ๋ ๊ธ๊ผด ์ด๋ฆ์ ๋งค์ฐ ๋ค๋ฆ ๋๋ค. Mac์ TextEdit์ Windows์ WordPad๋ฅผ ์ฌ์ฉํ์ฌ ์ฐจ์ด์ ์ ํ์ธํ ์ ์์ต๋๋ค.
๋์์ด ๋์๊ธฐ๋ฅผ ๋ฐ๋๋๋ค.
์ฐธ์ผ๋ก ์ง์ ๋ถํ๋ค.
Linux ํฌํธ๋ก ํ๋ฅญํ ์์ ์ ์ํํ๋ค๊ณ ๋งํด์ผ ํฉ๋๋ค. ์ฌ๋ฌ ๊ธ๊ผด๊ณผ ์์์ ๋ง์ด ์ฌ์ฉํ๋๋ผ๋ ์ฑ๋ฅ ์ ํ๊ฐ ๊ฑฐ์ ์์ต๋๋ค.
Windows์ ๋์ผํ ์ฝ๋๋ ์ฌ๋ฌ๊ทธ์ ๋๋ค.
Windows์ ๋์ผํ ์ฝ๋๋ ์ฌ๋ฌ๊ทธ์ ๋๋ค.
์, ํด๊ฒฐ ๋ฐฉ๋ฒ์ ์ ๋ชจ๋ฅด๊ฒ ์ต๋๋ค. FlowDocument๋ ๋งค์ฐ ๋๋ฆฝ๋๋ค.
Linux์ ์ฑ๋ฅ์ด ์ฐ์ํ๊ธฐ ๋๋ฌธ์ ์ฑ๋ฅ์ด Mac์ ์๋ค๋ ๊ฒ์ ์ ์ ์์ต๋๊น?
@LaraSQP macOS์์๋ ๊ฝค ๋นจ๋ผ์ผ ํฉ๋๋ค. ๋ด ๊ฒฝํ์ ์ด ์์ ์์ ๋งค์ฐ ๋๋ฆฐ ๊ฒ์ WPF์ผ ๋ฟ์ ๋๋ค. ๊ทธ๋๋ ๋นจ๋ฆฌ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์ฐพ๊ณ ์ถ์ต๋๋ค(;
์ด ๊ฒฝ์ฐ ์ด ๋ฌธ์ ๊ฐ ์ข ๋ฃ๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผํฉ๋๋ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
@katatunix๋ , ์์ฒญํด์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. ์ ๋ ์ค์ ๋ก RichTextArea์ ๋์ผํ API๋ฅผ ๊ฐ์ง๊ณ ์์ง๋ง ๋ณ๋๋ก ๊ตฌ์ฑํ ๋ค์ ์ด๋ฅผ RichTextArea์ ์ถ๊ฐ(๋๋ ์ค์ )ํ ์ ์๋ ์ด ๋ผ์ธ(์ผ์ข ์ TextBuffer)์ ๋ฐ๋ผ ์์ ํ๊ณ ์์ต๋๋ค.
๋ด๊ฐ ํ๊ณ ์ถ์ ํ ๊ฐ์ง๋ ๋ฐฑ๊ทธ๋ผ์ด๋ ์ค๋ ๋์์ ๊ตฌ์ฑํ ์ ์๋๋ก ๋ง๋๋ ๊ฒ์ด์ง๋ง ๋ถํํ๋ ๋ชจ๋ ํ๋ซํผ์ด ์ด๋ฅผ ์ง์ํ๋ ๊ฒ์ ์๋๋๋ค. ๊ทธ๋๋ ์์ง ์กฐ์ฌ ์ค์ ๋๋ค.