Summary
- Changed FreeTypeCache and FreeTypeFont to use a single mutual exclusion semaphore for the cache instead of one per font. (details)
- Factored out #basicRemoveAll from #removeAll on FreeTypeCache. (details)
- Made #maximumSize:, #removeAll, #removeAllForFont:, #removeAllForType: and #reportCacheState on FreeTypeCache wait for the semaphore. (details)
- Fixed #moveDown: on FreeTypeCacheLinkedList to actually swap ‘e2’ and ‘e3’. (details)
- Factored out #removeEntry: from #removeAllForFont: and #removeAllForType: on FreeTypeCache. (details)
- Made #atFont:charCode:type:scale:ifAbsentPut: and #removeEntry: on FreeTypeCache remove emptied dictionaries from the ‘fontTable’ (so that fonts for which there are no more entries also get removed). (details)
- Changed #shrinkTo: on FreeTypeCache to selectively remove entries rather than all of them. (details)
- 5 test for rules (details)
- modification ensure part of tests (details)