visual studio c# 폰트 bold 타입 작동이 안됩니다.

개발환경은 c# windows forms : visual studio 19 rc, 22 같은 결과 입니다.

e.Graphics.DrawString(“테스트글씨”, new Font(“HY신명조”,10, FontStyle.Bold), Brushes.Black, 1, 1);

폰트스타일 FontStyle.Italic , 언더라인 등은 모두 작동되는데… bold 스타일은 거의 변화가 없습니다.

왜일까요? 꼭 좋은 해결책 부탁 드립니다.

3개의 좋아요

일단 질문 카테고리가 잘못된 듯 싶은데 윈폼인지, WPF인지 아니면 다른 환경인지 환경에 대해서 기록을 해주시고 거기에 맞는 카테고리로 변경해주시겠어요?

2개의 좋아요

먼저 거의 없다는건 변화가 있다는 뜻으로 이해가 됩니다.

bold적용 여부를 확실하게 확인하가 위해서는
글자 크기를 크게하셔서 변화하는걸 확인해보시는것도 방법일거같습니다…
또는 bold 적용한글자와 적용하지 않은 글자를 동시에 출력하여 비교하는 방법도 있겠구요

그럼에도 불구하고 안된다면 화면 캡쳐 및 소스를 공유해보시는것도 방법일거같습니다.

2개의 좋아요

카테고리 및 개발환경에 대해 보완해주셔서 감사합니다. 윈폼 Q/A 카테고리가 있어서 그것으로 변경 드렸습니다.

1개의 좋아요

답변감사드립니다…
말씀하신 것 처럼… 위치만 바꾸어서 한쪽은 bold 한쪽은 Regular로 해서 출력해보고 비교해 보고
폰트 바꿔보고, 글씨 크기 바꿔보고 별일을 다해 보았습니다.
소스는 위에제시한 단 한줄입니다.
그밖에 소스는 일반적으로 그래픽을 프린터로 출력하기위한 기본프로그램이고요…
다시한번 감사드립니다.

1개의 좋아요

Bold 가 진짜 Bold가 있고 가짜 Bold가 있습니다. FontStyle.Bold는 해당 폰트의 볼드체를 호출하는 걸 수 있습니다. FakeBold 변수가 있는지 확인해보세요. FakeBold는 Regular 폰트의 벡터 데이터 중 외곽을 두껍게 하는 기능인 반면, 진짜 Bold는 폰트의 볼드체를 사용하는 겁니다.

아래 구글의 Roboto 폰트를 보시면 Bold를 위한 폰트가 별도로 존재하는 걸 보실 수 있습니다.
image

4개의 좋아요

예건님 설명이 맞는 것 같습니다. 같은 위치에 출력해 보면 bold체는 아주 조금 커지기만 합니다. 파워포인트에서 확실하게 구분되는 것 처럼 보이지 않고…

현재 제가 사용한 문법은 가짜 Bold를 사용하는 것 같은데… 어떻게 하면 진짜Bold체를 사용할 수 있는지요…
글씨체는 거의 모두 바꾸어가면서 테스트 해 보았었는데… 같은 현상이었거든요…

2개의 좋아요

HY신명조 폰트가 한양정보통신에서 만든 폰트인데 Bold 체를 제공하고 있지 않습니다.
이 경우, 다른 그래픽 라이브러리(e.g SkiaShrp)를 이용해서 FakeBold를 직접 구현하시거나 폰트 제작사에 요청하는 방법밖에 없습니다.

2개의 좋아요