Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB7
Expertise: Intermediate
Jun 8, 2002



Building the Right Environment to Support AI, Machine Learning and Deep Learning

Ensuring that a style is supported by a font family

' Not all fonts support the same styles. This function takes in 
' input a font family and a font style, and returns a font style
' which is safe for that particular font family, by removing
' the styles that are not supported
' Example:
'   GetSafeStyleForFontFamily(richTextBox1.SelectionFont.FontFamily,
'  '     richTextBox1.SelectionFont.Style)

Public Function GetSafeStyleForFontFamily(ByVal fontFam As FontFamily, _
    ByVal style As FontStyle) As FontStyle
    ' remove the styles not supported
    If (style And FontStyle.Regular) = FontStyle.Regular Then
        ' if the regular style is currently present, but not supported 
        ' by the new font family, remove it
        If Not fontFam.IsStyleAvailable(FontStyle.Regular) Then
            style = style And Not FontStyle.Regular
        End If
    End If
    ' do the same for bold, italic and underline
    If (style And FontStyle.Bold) = FontStyle.Bold Then
        If Not fontFam.IsStyleAvailable(FontStyle.Bold) Then
            style = style And Not FontStyle.Bold
        End If
    End If
    If (style And FontStyle.Italic) = FontStyle.Italic Then
        If Not fontFam.IsStyleAvailable(FontStyle.Italic) Then
            style = style And Not FontStyle.Italic
        End If
    End If
    If (style And FontStyle.Underline) = FontStyle.Underline Then
        If Not fontFam.IsStyleAvailable(FontStyle.Underline) Then
            style = style And Not FontStyle.Underline
        End If
    End If
    If (style And FontStyle.Strikeout) = FontStyle.Strikeout Then
        If Not fontFam.IsStyleAvailable(FontStyle.Strikeout) Then
            style = style And Not FontStyle.Strikeout
        End If
    End If
    Return style
End Function
Marco Bellinaso
Comment and Contribute






(Maximum characters: 1200). You have 1200 characters left.



Thanks for your registration, follow us on our social networks to keep up-to-date