제목이 너무 긴가요??
저의 의문점은 다음과 같습니다.
라인프린터로 출력할때는 아무 이상이 없는 프로그램이 하필 잉크젯으로 출력하게되면 글자가 깨져서 나온다는 것입니다. 그것도 한글만...
Procedure Make_Special_Printer;
Begin
If not PrtOpen('') then Exit; //PrtOpen()는 기본프린터를 찾아오고 Assign, Rewrite등을 해오도록 선언한 함수입니다.
Write(APrt,#27#64);
Write(APrt,#27#50);
Write(APrt,#27#67 + Chr(66));
Writeln(Aprt, Data); //Data라는 변수에 제가 원하는 값을 담아서 뿌려줍니다. 여러줄로.. 아주아주 길어요.. ㅠㅠ;
Write(APrt,#12);
System.Close(Aprt);
End;
여기서 Data에 담긴 값이 영어나 숫자일때는 문제없이 출력하며, 한글일때만 깨져서 나온다는게 문제예요.. 일부 레이저 프린터에서는 그런현상이 없는걸로봐서는... 레이저프린터에서도 출력이 안나오기도 하는데.. ㅠㅠ
혹시나 프린터기가 한글을 지원하지않을지도 모른다는 생각이 들기도하지만.....
잉크젯에서는 위와 같이 코딩하면 출력이 안되는지 알고싶습니다.
아님 다른 방법이나 선언을 해줌으로써 해결이 된다면 더욱 좋겠구요.. ^^;
명쾌한 답변 부탁드립니다...
프린터마다 설정된 모드가 달라서 생기는 문제가 아닐까여...
KS, KSSM, PCL 모드 등등...
또는 한글이 완성형이냐 조합형이냐 등등...
저두 예전에 프린트시 한글이 깨지는 경우가 종종 있었는데
그때마다 안되는 프린터의 기본설정된 모드를 확인했었거든여...
그래서 모드설정을 바꿔보거나
아니면 그 프린터와 호환되는 다른 프린터 드라이버를 설치해서 해결하기도 했던것 같은데...
참고가 될까해서 써봅니다...^^