1. 일단 Unicode 에서는 원숫자를 20까지는 지원합니다.

위처럼  폰트를 유니코드 폰트로 바꾸고

스크롤을 내려서 괄호영숫자 로 바꾸거나

문자코드에 2473 등을 입력하면 원문자 20을 넣을 수 있습니다.

 

나눔글꼴도 20까지 지원하기도 합니다.

2. 유니코드문자에서는 50까지 원문자를 지원 하기도 합니다. 시스템에 따라 다르게 보일 수 있습니다.

①②③④⑤⑥⑦⑧⑨⑩ ⑪⑫⑬⑭⑮⑯⑰⑱⑲⑳ ㉑㉒㉓㉔㉕㉖㉗㉘㉙㉚ ㉛㉜㉝㉞㉟㊱㊲㊳㊴㊵ ㊶㊷㊸㊹㊺㊻㊼㊽㊾㊿

참고:

https://www.unicode.org/charts/nameslist/n_2460.html

 

 

3. 만일 다른 원문자 숫자를 쓰고 싶다면

전용 폰트를 설치해서 사용해야 합니다.

 

이 경우 폰트가 없는 시스템에서는 다르게 보일 수 있으니 폰트를 포함해야겠습니다.

아니면 텍스트 상자에서 임의의 텍스트 상자를 도형병합(뻬기)해서 숫자글자를 도형으로 변환하세요.

4. LaTex 같은 전문 수식 명령어를 사용하는 방법도 있습니다.

IguanaTex 같은 추가기능을 설치하고(MikTex, GhostScript, ImageMagick, Tex2Img 등을 설치하고 Main Setting에서 경로 설정) 아래 명령으로 원문자를 만들고 수식을 이미지나 도형으로 변환할 수 있습니다.

\documentclass{article}
\usepackage{tikz}
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{
            \node[shape=circle,draw,inner sep=3pt] (char) {#1};}}
\begin{document}
\thispagestyle{empty}
\circled{1} \circled{-2342} \circled{3}
\end{document}

 

 

실행 화면:

아무리 큰수나 심지어 마이너스 숫자도 원문자로 만들 수 있습니다.

(다만 원문자 하나 넣으려고 MikTex 등을 설치하는 것은 배보다 배꼽이 더 큰 경우이긴 합니다.)

 

5. 최후의 방법으로는 원을 그리고 안에 숫자를 쓰면 되겠습니다.

VBA로 숫자와 글자크기를 '20/30' 처럼 입력하면 원도형에 지정된 숫자(20)를 지정된 글자크기(30)로 자동으로 넣어주도록 해보았습니다.

 

Option Explicit

Sub CircledNumber()

    Dim sld As Slide
    Dim shp As Shape
    Dim usr As String, str() As String
    Dim num!, l&, t&, w&, SW!, SH!, FontSize!
    
    '숫자/글자크기 입력
    usr = InputBox("숫자(문자)/글자크기를 '/'로 구분해서 입력하세요." & vbNewLine & vbNewLine & _
        "(예:123/15 또는 -#0.9/20)", "원문자 삽입", "99/20")
    If Len(usr) = 0 Then Exit Sub
    str() = Split(usr, "/")
    If UBound(str) <> 1 Then MsgBox "숫자(문자)/글자크기를 '/'로 구분해서 입력하세요.": Exit Sub
    'If Not IsNumeric(str(0)) Then MsgBox "숫자로 입력하세요.": Exit Sub
    'num = CSng(str(0))
    If Not IsNumeric(str(1)) Then MsgBox "글자크기를 숫자로 입력하세요.": Exit Sub
    FontSize = CSng(str(1))
    If FontSize < 1 Or FontSize > 3000 Then MsgBox "글자크기 범위(1~3000)이내로 입력하세요.": Exit Sub
    
    '슬라이드
    Set sld = ActiveWindow.Selection.SlideRange(1)
    With ActivePresentation.PageSetup: SW = .SlideWidth: SH = .SlideHeight: End With
    
    '도형 삽입
    w = FontSize * Len(CStr(str(0)))
    l = SW / 2 - w / 2
    t = SH / 2 - w / 2
    Set shp = sld.Shapes.AddShape(msoShapeOval, l, t, w, w)
    shp.Name = "No_" & str(0)
    shp.Fill.Visible = msoFalse
    shp.LockAspectRatio = msoTrue
    
    '윤곽선
    With shp.Line
        .Visible = msoTrue
        .Weight = 1
        .ForeColor.RGB = rgbBlack
    End With
    
    '텍스트
    With shp.TextFrame
        .WordWrap = msoTrue
        .MarginBottom = 0: .MarginLeft = 0: .MarginRight = 0: .MarginTop = 0
        .HorizontalAnchor = msoAnchorCenter
        .VerticalAnchor = msoAnchorMiddle
        .AutoSize = ppAutoSizeNone
        .TextRange.Font.Size = FontSize
        .TextRange.Font.Name = "Times New Roman"
        .TextRange.Font.Color = rgbBlack
        .TextRange.Text = str(0)    'num
         
        If .TextRange.Lines.Count = 1 Then
            While .TextRange.Lines.Count = 1 And shp.Width > .TextRange.BoundWidth: shp.Width = shp.Width - 1: Wend
            shp.Width = shp.Width + 2
        Else
            While .TextRange.Lines.Count <> 1: shp.Width = shp.Width + 1: Wend
        End If
    
    End With
    shp.Left = SW / 2 - shp.Width / 2
    shp.Top = SH / 2 - shp.Height / 2
    
End Sub

 

매크로 실행 화면:

동작화면:

첨부파일 참고하세요.

텍스트 상자 도형이므로 안에 있는 숫자는 수정해도 됩니다. 한 줄로 가장 작은 사이즈로 만들어지도록 했습니다.

 

원문자삽입1.pptm
0.10MB

 

 

관련: 지식인