1
'From Cuis 6.0 [latest update: #6068] on 14 November 2023 at 12:22:29 am'!
1
'From Cuis 6.0 [latest update: #6068] on 16 November 2023 at 11:47:22 pm'!
3
!provides: 'DrGeo' 1 644!
3
!provides: 'DrGeo' 1 646!
4
4
!requires: 'Gettext' 1 17 nil!
5
5
!requires: 'SVG' 1 16 nil!
6
6
!requires: 'YAXO' 1 19 nil!
2920
2920
DrGeoSystem class
2921
2921
instanceVariableNames: 'platform'!
2923
!classDefinition: #LanguageFont category: #'DrGeo-System'!
2924
Object subclass: #LanguageFont
2925
instanceVariableNames: 'locales family file'
2926
classVariableNames: ''
2927
poolDictionaries: ''
2928
category: 'DrGeo-System'!
2929
!classDefinition: 'LanguageFont class' category: #'DrGeo-System'!
2931
instanceVariableNames: ''!
2933
!classDefinition: #LanguageFontManager category: #'DrGeo-System'!
2934
Object subclass: #LanguageFontManager
2935
instanceVariableNames: 'languageFonts'
2936
classVariableNames: ''
2937
poolDictionaries: ''
2938
category: 'DrGeo-System'!
2939
!classDefinition: 'LanguageFontManager class' category: #'DrGeo-System'!
2940
LanguageFontManager class
2941
instanceVariableNames: ''!
2924
2944
!DrGeoDomain commentStamp: '<historical>' prior: 0!
2925
2945
This is the domain object for DrGeo, aka the top level Model instance for one DrGeo instance.
3479
3499
I map settings/preferences to the underneath hardware/os plateform
3480
3500
Pattern: strategy!
3502
!LanguageFont commentStamp: '<historical>' prior: 0!
3503
Associate several LocaleIDs (fr_FR, zh_TW, zh_CN) with an appropriate font.
3504
- locales : a collection of LocaleID
3505
- family : a String, font family name
3506
- file : a String, file name of the font!
3482
3508
!DrGeoDomain methodsFor: 'initialize-release' stamp: 'hlsf 3/9/2023 17:26:59'!
3484
3510
super initialize.
33567
!LanguageFont methodsFor: 'accessing' stamp: 'hlsf 11/16/2023 23:00:43'!
33568
addLocale: aLocaleID
33569
locales add: aLocaleID ! !
33571
!LanguageFont methodsFor: 'accessing' stamp: 'hlsf 11/16/2023 23:29:35'!
33575
!LanguageFont methodsFor: 'accessing' stamp: 'hlsf 11/16/2023 23:28:48'!
33576
family: aFamilyFont
33577
family := aFamilyFont ! !
33579
!LanguageFont methodsFor: 'accessing' stamp: 'hlsf 11/16/2023 23:29:41'!
33583
!LanguageFont methodsFor: 'accessing' stamp: 'hlsf 11/16/2023 23:29:11'!
33585
file := aFontFile ! !
33587
!LanguageFont methodsFor: 'accessing' stamp: 'hlsf 11/16/2023 23:19:40'!
33589
^ locales includes: aLocaleID! !
33591
!LanguageFont methodsFor: 'initialization' stamp: 'hlsf 11/16/2023 23:01:36'!
33594
locales := OrderedCollection new! !
33596
!LanguageFont methodsFor: 'as yet unclassified' stamp: 'hlsf 11/16/2023 23:47:01'!
33598
str nextPutAll: 'LanguageFont for '.
33600
do: [:each |str nextPutAll: each isoString]
33601
separatedBy: [str nextPut: Character space]
33604
!LanguageFont class methodsFor: 'instance creation' stamp: 'hlsf 11/16/2023 23:30:43'!
33605
family: aString1 file: aString2
33611
!LanguageFontManager methodsFor: 'accessing' stamp: 'hlsf 11/16/2023 23:28:15'!
33613
languageFonts add: aLanguageFont ! !
33615
!LanguageFontManager methodsFor: 'accessing' stamp: 'hlsf 11/16/2023 23:06:05'!
33616
familyNameFor: localeID! !
33618
!LanguageFontManager methodsFor: 'accessing' stamp: 'hlsf 11/16/2023 23:06:11'!
33619
fontFileFor: localeID! !
33621
!LanguageFontManager methodsFor: 'accessing' stamp: 'hlsf 11/16/2023 23:21:55'!
33622
languageFontFor: aLocaleID
33623
(self europeanLang includes: aLocaleID isoLanguage asSymbol) ifTrue: [^ nil]. "Use Deja Vu font within Cuis"
33624
^ languageFonts detect: [:each | each handles: aLocaleID] ifNone: [nil]! !
33626
!LanguageFontManager methodsFor: 'initialization' stamp: 'hlsf 11/16/2023 23:07:06'!
33629
languageFonts := OrderedCollection new! !
33631
!LanguageFontManager methodsFor: 'as yet unclassified' stamp: 'hlsf 11/16/2023 23:13:02'!
33633
^ `#(#ast #ca #cs #da #de #en #es #fi #fr #it #nl #pt #ru #sv #tr #uk)`! !
33541
33635
!Object methodsFor: '*DrGeo' stamp: 'hlsf 6/20/2021 11:37:54'!