검색결과 리스트
pdf 에 해당되는 글 2건
- 2010/04/11 [PDF+] 어도비보다 훨씬 빠르고 가볍다. PDF+
- 2009/12/23 [Redmine] (펌)PDF export시 한글 깨지는 문제 (3)
|
|
■ PDF+는 작고, 설치가 필요 없이 복사만 해도 실행이 잘 되는 PDF 뷰어 입니다. | |
|
■ PDF+는 기다릴 필요 없이 즉시 PDF파일을 열어서 볼 수 있는 가볍고 빠른 PDF뷰어입니다. |
|
■ PDF+는 뷰어 및 인쇄, 찾기 등 기본적인 PDF 뷰어의 기능이 모두 포함되어있습니다. |
|
■ PDF+는 위도우 95/98/NT/2000/XP/2003 에서 모두 실행이 가능하고 기업, 관공서, 단체 및 개인등이 무료로 사용할 수 있는 완전 무료 PDF뷰어 입니다. |
|
■ PDF+는 미국 Fox-it 소프트웨어사의 기술력으로 개발된 안정된 PDF뷰어 입니다. |
|
■ 참고로 Fox-it PDF Reader의 한글화 된 버전이 돌고 있습니다. 이것은 명백히 불법 자료 이므로.. 사용을 하지 말아달라는 Fox-it사의 요청이 있었습니다. |
'개발 이야기 > 소프트웨어 리뷰' 카테고리의 다른 글
| [Textyle] 파일 업로드 용량 설정하기 (0) | 2010/09/26 |
|---|---|
| [textyle] textyle 설치시 트러블슈팅 (0) | 2010/04/17 |
| [PDF+] 어도비보다 훨씬 빠르고 가볍다. PDF+ (0) | 2010/04/11 |
| [Oracle SQL Developer] MySQL 사용시 'Query execution was interrupted' 에러 발생시 (0) | 2010/03/26 |
| [텍스트 에디터] vim 도전하기 (0) | 2010/01/20 |
| [VirtualBox] 이미지 자동 실행 (3) | 2009/12/30 |
※ 이 글은 박인서님의 블로그에서 퍼온글입니다.
redmine 에서 Gantt Chart 에서 한글이 제대로 나오는 것을 확인 한 후, pdf 에서 한글이 나오지 않는 이유를 몰라 한참을 헤매다가 결국 방법을 알았습니다.
redmine/app/helpers 에 있는 ifpdf_helper.rb 에 language 가 한글로 되어 있을 때
pdf에 UHC Font 를 출력하는 routine 이 빠져 있었고,
redmine\vendor/plugins/rfpdf/lib/rfpdf
에 있는 korean.rb 에 일부 오류가 있었습니다.
ifpdf_helper.rb 는 다음과 같이 고칩니다. (0.80 기준)
[code]
when 'zh-tw'
extend(PDF_Chinese)
AddBig5Font()
@font_for_content = 'Big5'
@font_for_footer = 'Big5'
when 'ko'
extend(PDF_Korean)
AddUHCFont()
@font_for_content = 'UHC'
@font_for_footer = 'UHC'
[/code]
그리고, korean.rb 는 다음과 같이 고칩니다.
[code]
def AddUHCFont(family='UHC',name='HYGoThic-Medium')
#Add UHC font with proportional
cw=UHC_widths
cMap='KSCms-UHC-H'
registry={'ordering'=>'Korea1','supplement'=>1}
AddCIDFonts(family,name,cw,cMap,registry)
end
def AddUHChwFont(family='UHC-hw',name='HYGoThic-Medium')
#Add UHC font with half-witdh Latin
32.upto(126) do |i|
cw[i.chr]=500
end
cMap='KSCms-UHC-HW-H'
registry={'ordering'=>'Korea1','supplement'=>1}
AddCIDFonts(family,name,cw,cMap,registry)
end
[/code]
(사실상 고딕체가 출력되게 할 뿐이지, 윗부분이 잘못된 것은 아닙니다.)
문제 부분은 아래 부분입니다.
[code]
def MultiCell(w,h,txt,border=0,align='L',fill=0)
if(@CurrentFont['type']=='Type0')
MBMultiCell(w,h,txt,border,align,fill)
else
super(w,h,txt,border,align,fill)
end
end
def MBMultiCell(w,h,txt,border=0,align='L',fill=0)
#Multi-byte version of MultiCell()
cw=@CurrentFont['cw']
if(w==0)
w=@w-@rMargin-@x
end
wmax=(w-2*@cMargin)*1000/@FontSize
s=txt.gsub("\r",'')
nb=s.length
if(nb>0 and s[nb-1]=="\n")
nb-=1
end
b=0
if(border)
if(border==1)
border='LTRB'
b='LRT'
b2='LR'
else
b2=''
if(border.to_s.index('L'))
b2+='L'
end
if(border.to_s.index('R'))
b2+='R'
end
b=border.to_s.index('T') ? b2+'T' : b2
end
end
sep=-1
i=0
j=0
l=0
nl=1
while(i<nb)
#Get next character
c=s[i]
#Check if ASCII or MB
ascii=(c<128)
if(c.chr=="\n")
#Explicit line break
Cell(w,h,s[j,i-j],b,2,align,fill)
i+=1
sep=-1
j=i
l=0
nl+=1
if(border and nl==2)
b=b2
end
next
end
if(!ascii)
sep=i
ls=l
elsif(c==' ')
sep=i
ls=l
end
l+=ascii ? (cw[c.chr] || 0) : 1100
if(l>wmax)
#Automatic line break
if(sep==-1 or i==j)
if(i==j)
i+=ascii ? 1 : 3
end
Cell(w,h,s[j,i-j],b,2,align,fill)
else
Cell(w,h,s[j,sep-j],b,2,align,fill)
i=(s[sep]==' ') ? sep+1 : sep
end
sep=-1
j=i
l=0
# nl+=1
if(border and nl==2)
b=b2
end
else
i+=ascii ? 1 : 3
end
end
#Last chunk
if(border and not border.to_s.index('B').nil?)
b+='B'
end
Cell(w,h,s[j,i-j],b,2,align,fill)
@x=@lMargin
end
[/code]
즉, def MBMultiCell(w,h,txt,border=0,align='L',fill=0) 의 부분을 chinese.rb 화일의 것으로 교체했습니다.
아래 windows 용 rb 화일을 첨부합니다.
'개발 이야기 > ALM(Application lifecycle management)' 카테고리의 다른 글
| [redmine] PID file tmp/pids/mongrel.3001.pid already exists (0) | 2010/01/08 |
|---|---|
| [Redmine] (펌)PDF export시 한글 깨지는 문제 (3) | 2009/12/23 |
| [SVN 에러] NoSuchChangeset 발생시... (0) | 2009/04/10 |
| [SVN 에러] Can't create directory 발생시... (0) | 2009/04/10 |
