CSS 타이포그래피

CSS 2012.02.24 12:38

CSS 타이포그래피

타이포그래피 관련 텍스트 속성들을 알아본다. 간단하게 예제만으로 복습해보자.
일단 타이포그래피라면  알고있어야 할 것들

자간: 글자 하나하나 사이의 간격
어간: 단어사이의 간격
행간: 줄사이의 간격

자간<어간<행간 이건 당연한것

CSS에서 각속성은 다음과 같다


자간: letter-space , 흔히 사용하는 값 설정 (em,px ....)
어간: word-space, 흔히 사용하는 값 설정 (em,px ....)
행간: line-height, 폰트에 비례하는 퍼센트 설정가능

하나하나 설명하기보다 단번에 설명하는게 좋을 듯하다 일단 예로 해를품은달 html을 준비했다.

<h2><span>수목드라마 </span>해를 품은 달</h2>

<p>조선 시대 가상의 젊은 왕(태양) 이훤은 달과 ..... </p>

<p class="character">한가인: 홍문관 대제학 허영재의 딸, 염의 ... </p>

<p class="character">김수현 : 달을 그리는 해....</p>

CSS는 다음과 같다. 설명은 주석으로 해놨다.

/*문서마진설정 폰트사이즈100%*/
body{ font-size:100%; margin: 0 5em;}
/*개별 폰트사이즈 설정*/
h2{font-size:1.5em;
   text-align:center;
   /*제목을 가운데 정렬*/
   }
h2 span{font-size:.5em; 
        vertical-align:super; 
	/*세로정렬 위족에*/
	font-weight:lighter;
	}
/*첫번째 글자를 좀더크게*/		
h2 + p:first-letter{font-size:1.8em;}
/*문서의 자간,어간 행간 조절*/
p{font-size:.9em; 
  letter-spacing:-.03em; 
  word-spacing:.1em;
  line-height:1.8;   
}
/*등장인물 들여쓰기*/
.character{ text-indent:1em;}

각 속성에 대해서는 그림을 참고해보자


최종결과는 여기 http://sianasiatiger.cafe24.com/study/CSS-typo.html


세로정렬 vertical-align은 웹에서 흔히 잘 볼 수 없는데 값과 결과는 여기서 예제를 볼 수 있다.
http://www.w3schools.com/cssref/pr_pos_vertical-align.asp

덧1) 첫번째 글자를 크게한 유사 클래스 선택자가 이해 안가면 이 블로그에서 검색해 보길 바란다
덧2) 한가지 빠트렸는데 첫번째 글자가 커지다 보니 첫문단 첫줄과 다음줄의 행간이 커진 것이 보인다. 따라서 이를 해결하기 위해 유사 클래스 선택자 h2 + p:first-letter에서  line-height 의 적절한 조절이 필요하다. 알아서 값을 조절해보자

저작자 표시
신고

설정

트랙백

댓글

CSS3 font-size-adjust 대채폰트의 크기조절 x-height, Aspect Value

CSS/CSS3 2012.02.22 18:15

CSS3 font-size-adjust 
대채폰트의 크기조절 x-height, Aspect Value

일단 참조할 것

타이포그래피(Typography ) 각 폰트별 x-height 크기 도표  http://blog.naver.com/siatiger
w3c css3 font 소개 :http://www.w3.org/TR/css3-fonts/
웹폰트 Aspect Value http://www.barrypearson.co.uk/articles/text/aspect_values.htm

adjust 란 단어는 “조정하다”란 뜻으로 말 그대로 폰트 크기를 조정해주는 역할을 하는 속성이 font-size-adjust 이다. 영어는 대소문자가 구별되는 언어이고 그 때문에 폰트의 종류에 따라 특히 소문자의 크기가 다르게 표현된다.예를 들어 Verdana 의 대문자가 1 이라면 소문자 크기는 0.58(Aspect Value) 의 크기인 것이다.

주의)아이폰에서 텍스트크기를 정하는 -webkit-text-size-adjust와 혼동하지말것!

이러한 이유 때문에 브라우저에서 만약 첫 번째 font 를 사용할 수 없게 될 경우 두 번째로 지정된 폰트를 랜더링하는데 글자 크기가 같은 px 라도 들쭉날쭉하게 보여지는 것이다.


다른 폰트라면 같은 크기라도 글자크기가 다른것은 당연하다
사진은 대문자지만 적용은 x-height이므로 소문자임을 주의

이런 것을 방지하기 위해 font-size-adjust 속성을 사용하게 되면 서로 다른 폰트 종류라도 소문자의 처음 지정된 폰트의 크기로 유지할 수 있고 가독성을 높일 수 있다..  하지만 현재 Firefox 에서만 지원한다

1. Aspect Value 확인해보기
W3C에서 보여주는 값은 다음과 같다. http://www.barrypearson.co.uk/articles/text/aspect_values.htm
글자크기에 따라 치수변동이 조금있다.

Family name Stated aspect value Measured aspect value
These are in the W3C order. These are values quoted by W3C. These use the actual x-height at 100px.
Verdana 0.58 0.55
Comic Sans MS 0.54 0.56
Trebuchet MS 0.53 0.52
Georgia 0.50 0.48
Myriad Web 0.48 0.48
Minion Web 0.47 (This was only ever supplied by MS as part of the IE 4 supplemental font pack add-on, and is not on my PC).
Times New Roman 0.46 0.45
Gill Sans 0.46 (Not on my PC).
Bernhard Modern 0.4 (Not on my PC).
Caflisch Script Web 0.37 (Not on my PC).
Flemish Script 0.28 (Not on my PC).


font-size-adjust가 적용될때  공식은 다음과 같다

c = (a/a’)s (c=조정될 글꼴 크기, a=font-size-adjust 에 지정된 숫자, a’=현재 지정된 글꼴의 소문자 비율)이다. 예를 들어, 14pt Verdana의 font-size-adjust를 1로 지정하면(Verdana의 소문자 높이 비율 기본값은 0.58) 14*1/0.58pt의 크기(약 24pt)로 표시된다.

에제로는 Times New Roman를 선택했다. 0.46 이다.  font-size-adjust에  0.46을 주면 공식에서 나누어 떨어지므로 font-size-adjust를 설정하지않은 것과 똑같이 나와야 한다

<p><span id="num1">Aa</span><span id="num2">Aa</span></p>

body{font-size:400px;}
p{     margin:100px;}/*가운데 보기위한 정렬*/
span{  border:solid 1px green; }/*크기비교위한 테두리*/
#num1{ font-family:Times New Roman ;}
#num2{ font-family:Times New Roman; 
       font-size-adjust:0.46; 
}


http://sianasiatiger.cafe24.com/study/font-size-adjust-01.html

그림과 같이 문자가 크다보니 약간의 차이가 있다 직접 조절해본 결과는  0.447

#num2{ font-family:Times New Roman; 
       font-size-adjust:0.447; 
}

http://sianasiatiger.cafe24.com/study/font-size-adjust-02.html
이건 조절한결과


2. 다른 폰트의 같은 크기의  x-height 조절
폰트는 Verdana 와 Times New Roman을 선택했다
위에서 확인 해봤듯이 400px에서 값은 0.447이였다.

그러면 Verdana에 0.447을 정해주면 된다.

body{font-size:400px;}
#num1{ font-family:Times New Roman; }
#num2{ font-family:Verdana; 
       font-size-adjust:0.447; 
}


최종결과 폰트특성상 아주 약간 차이날뿐 같게 된것을 볼 수 있다.
http://sianasiatiger.cafe24.com/study/font-size-adjust-03.html


앞서 말했지만 역시 문제는 아직 파이어폭스만 지원한다는 점

저작자 표시
신고

설정

트랙백

댓글

CSS 폰트 (font) 정하기

CSS 2012.02.22 14:39

CSS 폰트 (font) 정하기

먼저 한번에 지정할수 있는 font 말고 font-size등 간단정리하고 전체를 정의하는 font를 알아보자

폰트 크기 설정

폰트크기는 여기서 참조하자 바로테스트확인할수 있다.
http://www.w3schools.com/cssref/playit.asp?filename=playcss_font-size&preval=xx-small

예제는 다음과 같다

h1{ font-size: 100%;}
h2{ font-size: larger;}
h3{ font-size: small;}
h4{ font-size: 1.9em;}
p{  font-size: 9pt;}

다음은 폰트크기를 요약 한것

상댓값
%   : 부모 엘리먼트와 비교한다
em : 현재 폰트 크기에 비교(1.9는 190%)
px  : 모니터 해상도에 비교
larger, smaller : 현재잣보다 한단계 올리거나내린다 예로 현재값이 medium로 되어있다면 large로 된다

절대댓값 : pt,pc,mm, cm, in (72pt = 1inch ,1pc =12pt)

html페이지를 참조하는 키워드 이는 html에서 <font size=x>으로 정의될수 있다 x값과 키워드비교는다음표를참고하자 w3c 참조

http://www.w3.org/TR/CSS2/fonts.html#font-styling

HTML Keyword Example Sizes
Not Applicable xx-small 9px
size=1, size=-2 x-small 10px
size=2, size=-1, small small 13px
size=3 medium 16px
size=4, size=+1, big large 19px
size=5, size=+2 x-large 24px
size=6, size=+3 xx-large 32px
size=7, size=+4 Not Applicable 48px

폰트 크기를 설정하기전 집고 넘어갈 것이 있다. 일단 100%로 하던 1em으로 하던간에 크기는 브라우저의 디폴트 값에 근거한다는 점을 유의해야 한다.이말은 무엇이냐하면 우리가 웹표준을 다룰때 가장 짜증나는 IE6를 비롯하여 브라우저별로 크기가 다르게 나온다는 말이다.

이에 대한해결은 Owen Briggs가 내놓은것으로 가능한 body에 상대크기를 잡아놓고 내부에 절대폰트 상대폰트크기를 사용하는 것이다. 예제처럼하면 브라우저뿐만아니라 매체에 따라서도 적절한크기가 적용된다.

/* body에 %사이즈 결정 */
body { font-size: 76%; }

/* 개별 재설정*/
p { font-size: 1em; }
h1 { font-size: 2em; }
h2 { font-size: 1.8em; }

폰트 스타일 설정

이랙릭이나 빗김체나 비슷하다. 정확한 차이는 이탤릭체는 말그래로 폰트의 이탤릭버전으로 하게한다. 빗김체는 글을 기울일 뿐이다. 딸서 이탤릭체가 없는경우는 빗김체를 사용하겠지만 거의 그런 경우도 없고, 또 브라우저들이 이 둘을 잘 구분하지 않는다.

h1{ font-style: italic;}
h2{ font-style: normal;}
p{  font-style: oblique; }

폰트 굵기 설정

h1{ font-weight: bold;}
h2{ font-weight: nomal;}
h3{ font-weight: lighter;}
h4{ font-weight: bolder;}
p{  font-weight: 450; }

예제에서 숫자는 900이 최고다 100~900으로 설정가능하다.

스몰 캡(small-cap) 설정

h1{ font-variant:small-caps; }

스몰캡은 모든문자가 대문자가 되고 첫번째 글자가 다른문자에 비해 조금커진다. 제목이나 부제목 강조에 사용하면 효과적이다.

한번에 설정

귀찮을때 한번에 하기. 순서는 다음과같다

font-style, font-variant, font-weight, font-size/line-height, font-family
여기서 폰트사이즈뒤에 슬러쉬하고 나오는 것은 행간격이다. 문자기준의 %라고 생각하면된다 (.9=90%)

p{ font:italic bold small-caps .7em/.9 Georgia, "Times New Roman", Times, serif  ; }

시스템 폰트..

p{ font: caption;}

caption | icon | menu | message-box | small-caption | status-bar

위의것이 시스템 폰트라고 지정된 것들이있다.
순서대로 버튼,아이콘,메뉴,태화상자,컨트롤라벨,위도우 상단표시줄에 적절하게 사용으로 지정되어 있지만..잘 사용되는걸 못봤다. 그냥 이런게 있다고만 알아두자.

CSS3 폰트에 자세한건 여기 http://www.w3.org/TR/css3-fonts/

저작자 표시
신고

설정

트랙백

댓글

CSS 폰트 : 웹안전 폰트와 다운

CSS 2012.02.21 14:56

CSS 폰트 : 웹안전 폰트와 다운

웹안전폰트

폰트는 사용자가 컴퓨터에 있어야 사용가능하다. 옛날에는 단지화려하게 꾸미기위해서 별 폰트들을 남발했지만 요즘은 사라진지오래다. 일단 웹안전 폰트부터 살펴보자.

Generic Family Family Name Example
Windows Font Name Mac Font Name
Sans-serif Normal fonts without serifs Arial Arial Safe Fonts, 안전서체, 安全書体, 安全字体
Arial Black Arial Black Safe Fonts, 안전서체, 安全書体, 安全字体
Lucida Sans Unicode Lucida Grande Safe Fonts, 안전서체, 安全書体, 安全字体
Tahoma Geneva Safe Fonts, 안전서체, 安全書体, 安全字体
Trebuchet MS Helvetica Safe Fonts, 안전서체, 安全書体, 安全字体
Verdana Verdana Safe Fonts, 안전서체, 安全書体, 安全字体
MS Sans Serif Geneva Safe Fonts, 안전서체, 安全書体, 安全字体
Serif Normal fonts with serifs Georgia Georgia Safe Fonts, 안전서체, 安全書体, 安全字体
Palatino Linotype Book Antiqua Safe Fonts, 안전서체, 安全書体, 安全字体
Times New Roman Times Safe Fonts, 안전서체, 安全書体, 安全字体
MS Serif New York Safe Fonts, 안전서체, 安全書体, 安全字体
Monospace Fixed-width fonts Courier New Courier New Safe Fonts, 안전서체, 安全書体, 安全字体
Lucida Console Monaco Safe Fonts, 안전서체, 安全書体, 安全字体
Cursive Fonts that emulate handwriting Comic Sans MS Comic Sans MS Safe Fonts, 안전서체, 安全書体, 安全字体
Fantasy Decorative fonts, for titles, etc. Impact Impact Safe Fonts, 안전서체, 安全書体, 安全字体

위폰트는 기본적으로 탑재되어있는것들이다.

그리고 Windows 버전별로 어떤 서체가 모든 국가별 버전에 기본 탑재되어 있는지 좀더 확인하려면 Microsoft의 Typography 웹 사이트에 있는 Fonts and products 페이지를 참고하면 된다.


다운로드가능한 폰트

그래도 원하는 폰트를 꼭 사용하고 싶게하면 어떻게 해야 할까? 
css에서 @font-face 로 설정할 수 있다.(SIFR방법도 있지만....이 방법은 폰트자체를 건드린다는 개념과 다르니 따로 포스팅하겠다.)

일단 웹에서 다운로드가능한 폰트의 확장자는TTF,OTF,EOT,SVG,WOFF이다. (자신에게 어떤폰트가 있는지 알아보려면  C:\Windows\Fonts 에서 확인해보자.) 사용방법은 아래와 같다.

자신이 원하는 폰트파일을가지고 이 사이트로 가자 @font-face Generator


1. add fonts를 클릭하고 원하는폰트파일을 불러온다.
2. 옵션중선택하고 agreement에 체크 그러면 오른쪽 아래에 다운로드박스가 나오는데 클릭하면 다운받을 수 있다.
3. 이때 샘플로 예제 웹문서까지 첨부되니 참고

위에 이걸 잘알면 사용해도 관계없고 이번엔 사용하는 CSS코드를 살펴보자.

@font-face {
	font-family: 'sketch'; /*폰트이름을 지정*/
	src: url('font/hnaksec-webfont.eot');
	src: local('☺'), url('font/hnaksec-webfont.woff') format('woff'), 
	url('font/hnaksec-webfont.ttf') format('truetype'), 
	url('font/hnaksec-webfont.svg#CRegular') format('svg');
}

body{font-family: 'sketch';}

주의 할 점은 로컬폰트를 사용할 수 있게 src: local('폰트이름'), local('postscript이름')에 맞춰 지정하게 되어있지만 맥(mac)에서 한글같은 2바이트 폰트이름의 문제때문에 ☺같은 특수문자로 대체한다.

참고로 svg폰트의 #CRegular부분은 svg폰트로 변환시에 지정되는 id이다. 이에대한 정보는 svg폰트를 메모장으로 열고 id를 검색해보면 알수 있다.

이정도 알면 사용하는데 문제는 없다. 

위의 예제는 여기서 확인가능하다 http://sianasiatiger.cafe24.com/study/load-font.html

또 더 자세히 깊게 파고 들고 싶다면 여기를 참조 http://circlash.tistory.com/578



저작자 표시
신고

설정

트랙백

댓글

웹 CSS 폰트 테스트 미리보기 사이트 typeteste

CSS 2011.03.17 13:30

http://www.typetester.org/


CSS를 다루면서 여러폰트를 사용하고 크기 색깔 마진 패딩들을 다루게 되는데 미리한번 볼수 있는 좋은 사이트가 있다. 좋은점은 위에는 우리가 흔히 사용하는 기본적인 폰트 그리고 아래는 자신이 가지고 있는 폰트가 있다.


모두테스트 가능 설정함에 따라 아래에 뜬다.



아쉬운 점이라면 한글로 못본다는점?

저작자 표시
신고

설정

트랙백

댓글


티스토리 툴바