/**
    test-fonts.css
    --------------------------------

    This CSS file contains @font-face rules for various 'Test' font families, such as 'Arial Test', 'Helvetica Test', etc.

    Purpose:
    When checking if specific fonts are supported in the current environment, we discovered an OS-level issue: for example,
    specifying 'Helvetica' as font-family on Windows actually renders text using 'Arial', which falsely suggests that 'Helvetica' is available.

    To avoid such misleading fallbacks, we define unique 'Test' font-family names (e.g., 'Arial Test') that do not match any installed system font.
    This ensures browsers/OSes do not substitute other fonts when performing font availability checks.

    Implementation notes:
    Previously, these @font-face rules were generated and inserted dynamically. However, dynamically injecting many font rules at runtime caused browser
    performance issues: whenever the stylesheet was added, the browser would re-evaluate all rendered elements for potential font changes, which could
    be slow on pages with many elements.

    Solution:
    This file is now statically included in the HTML/JSP and loaded at page startup, so the browser processes these font definitions upfront, avoiding
    costly re-checks of all elements later.

    Do NOT modify or remove these font-face rules unless you understand their role in font support detection.
*/

@font-face {
    font-family: 'Arial Test';
    src: local('Arial'), local('ArialMT');
}

@font-face {
    font-family: 'Arial Black Test';
    src: local('Arial Black'), local('Arial-Black');
}

@font-face {
    font-family: 'Arial Narrow Test';
    src: local('Arial Narrow'), local('ArialNarrow');
}

@font-face {
    font-family: 'Arial Unicode MS Test';
    src: local('Arial Unicode MS'), local('ArialUnicodeMS');
}

@font-face {
    font-family: 'Batang Test';
    src: local('Batang');
}

@font-face {
    font-family: 'Book Antiqua Test';
    src: local('Book Antiqua'), local('BookAntiqua');
}

@font-face {
    font-family: 'Bookman Old Style Test';
    src: local('Bookman Old Style'), local('BookmanOldStyle');
}

@font-face {
    font-family: 'Bookshelf Symbol 1 Test';
    src: local('Bookshelf Symbol 1'), local('BookshelfSymbolOne-Regular');
}

@font-face {
    font-family: 'Bookshelf Symbol 2 Test';
    src: local('Bookshelf Symbol 2'), local('BookshelfSymbolTwo-Regular');
}

@font-face {
    font-family: 'Bookshelf Symbol 3 Test';
    src: local('Bookshelf Symbol 3'), local('BookshelfSymbolThree-Regular');
}

@font-face {
    font-family: 'Comic Sans MS Test';
    src: local('Comic Sans MS'), local('ComicSansMS');
}

@font-face {
    font-family: 'Courier New Test';
    src: local('Courier New'), local('CourierNewPSMT');
}

@font-face {
    font-family: 'Garamond Test';
    src: local('Garamond');
}

@font-face {
    font-family: 'Haettenschweiler Test';
    src: local('Haettenschweiler');
}

@font-face {
    font-family: 'Helvetica Test';
    src: local('Helvetica'), local('Helvetica LT Pro'), local('HelveticaLTPro-Roman');
}

@font-face {
    font-family: 'Impact Test';
    src: local('Impact');
}

@font-face {
    font-family: 'Lucida Console Test';
    src: local('Lucida Console'), local('LucidaConsole');
}

@font-face {
    font-family: 'Lucida Sans Unicode Test';
    src: local('Lucida Sans Unicode'), local('LucidaSansUnicode');
}

@font-face {
    font-family: 'Map Symbols Test';
    src: local('Map Symbols'), local('Map-Symbols');
}

@font-face {
    font-family: 'Marlett Test';
    src: local('Marlett');
}

@font-face {
    font-family: 'Microsoft Sans Serif Test';
    src: local('Microsoft Sans Serif'), local('MicrosoftSansSerif');
}

@font-face {
    font-family: 'Monotype Corsiva Test';
    src: local('Monotype Corsiva'), local('MonotypeCorsiva');
}

@font-face {
    font-family: 'Monotype Sorts Test';
    src: local('Monotype Sorts'), local('MonotypeSorts');
}

@font-face {
    font-family: 'MS Gothic Test';
    src: local('MS Gothic'), local('MS-Gothic');
}

@font-face {
    font-family: 'MS Outlook Test';
    src: local('MS Outlook'), local('MSOutlook');
}

@font-face {
    font-family: 'MT Extra Test';
    src: local('MT Extra'), local('MT-Extra');
}

@font-face {
    font-family: 'Symbol Test';
    src: local('Symbol'), local('SymbolMT');
}

@font-face {
    font-family: 'Tahoma Test';
    src: local('Tahoma');
}

@font-face {
    font-family: 'Times New Roman Test';
    src: local('Times New Roman'), local('TimesNewRomanPSMT');
}

@font-face {
    font-family: 'Trebuchet MS Test';
    src: local('Trebuchet MS'), local('TrebuchetMS');
}

@font-face {
    font-family: 'Verdana Test';
    src: local('Verdana');
}

@font-face {
    font-family: 'Webdings Test';
    src: local('Webdings');
}

@font-face {
    font-family: 'Wingdings Test';
    src: local('Wingdings'), local('Wingdings-Regular');
}

@font-face {
    font-family: 'Wingdings 2 Test';
    src: local('Wingdings 2'), local('Wingdings2');
}

@font-face {
    font-family: 'Wingdings 3 Test';
    src: local('Wingdings 3'), local('Wingdings3');
}
