1. 16 Jan, 2015 1 commit
    • Jeffrey Lee's avatar
      Escape some dollars · faceb62f
      Jeffrey Lee authored
        s/Errors, s/Fonts01, s/ListFonts - Escape some dollars contained in strings to avoid warnings from objasm
        Resulting binary unchanged
      Version 3.76. Retagged as 'Manager-3_76'
  2. 23 Jul, 2014 1 commit
    • Jeffrey Lee's avatar
      Fix issues when font cache is located in high end of RAM · a7df091a
      Jeffrey Lee authored
        s/Fonts01, s/Fonts04, s/Funcache - Fix comparisons against PIX_UNCACHED to be unsigned instead of signed. Fix another couple of signed range checks which should have been unsigned.
        s/Fonts01 - Fix 32bit conversion issue in debug code around the SWI dispatcher; was failing to save the PSR correctly and resulting in every SWI in debug builds to throw a spurious error.
        Tested on BB-xM
      Version 3.76. Tagged as 'Manager-3_76'
  3. 06 Aug, 2013 1 commit
    • Jeffrey Lee's avatar
      Update to cope with new pixel formats · d2ef2628
      Jeffrey Lee authored
        s/Fonts01, s/Fonts02 - Cache the current mode flags & NColour values
        s/Blending - Font blending code improved to add support for new pixel formats. Supremacy blending code split off into seperate file as it's too big for a macro.
        s/BlendingS - New file containing the guts of the supremacy blending code. Old code only supported supremacy blending in 32bpp &TBGR modes; new code supports supremacy blending in 16bpp 4444 &TBGR, as well as alpha blending in 32bpp &TBGR and 16bpp 4444 &TBGR, and red/blue swapped modes (as well as the main blending code supporting all new RGB modes).
        Tested on BB-xM
        Part of an implementation of the Extended Framebuffer Format Spec:
      Version 3.75. Tagged as 'Manager-3_75'
  4. 07 May, 2012 1 commit
    • Ben Avison's avatar
      Font rendering speed optimisations · 7c6b41fb
      Ben Avison authored
        Prevention of needless screen reads in unblended font rendering.
        Some simple code migration to eliminate load-use dependencies.
        Non-blended rendering to screen was actually slower than blended on the
        IYONIX pc because of the needless reads; these changes redress the balance.
        Changes received from Adrian Lees
      Version 3.74. Tagged as 'Manager-3_74'
  5. 18 Mar, 2012 1 commit
    • Jeffrey Lee's avatar
      Fix long multiply optimisation bugs · c9e530bb
      Jeffrey Lee authored
        - Fixed getpixsize to take the high half of the multiply from the right register.
        - Corrected scaleycoord description to state R0 is corrupted
        - Fixed scaleycoord to place output in correct register
        - Fixed mul_R0_R1 to not corrupt R1
        - Fixed first long multiply in scalescaffoldx and scalescaffoldy to leave correct value in R1 ready for the second multiply
        Tested in Iyonix ROM softload
        PDF files now render correctly
        scaleycoord and mul_R0_R1 bugs were somewhat inconsequential, since those routines currently go unused when long multiplies are in use
      Version 3.73. Tagged as 'Manager-3_73'
  6. 25 Feb, 2012 1 commit
    • Jeffrey Lee's avatar
      Use long multiplies where possible. Simple blended font optimisations. · d16e8cd5
      Jeffrey Lee authored
        s/Blending - Optimise blended font plotting a bit. Now use UBFX/BFI on ARMv6T2+, for a speed gain of a few percent. Pre-ARMv6T2 code optimised to get rid of unneeded shifts and result clamping
        s/Font_Arith, s/Fonts04 - Make use of long multiplies where possible. If long multiplies are in use, some routines have been inlined since they're now just a handful of instructions instead of 10 or so.
        Tested in IOMD & OMAP3 ROMs
        Blended fonts and transformed fonts seem to work OK
      Version 3.72. Tagged as 'Manager-3_72'
  7. 27 Jan, 2012 1 commit
  8. 06 Dec, 2011 1 commit
    • Jeffrey Lee's avatar
      Use correct CLZ check · 7040b866
      Jeffrey Lee authored
        s/Font_BasFP - Only look for ARMv5 support when deciding if CLZ is available, not ARMv5T
        Tested in OMAP3 ROM
      Version 3.70. Tagged as 'Manager-3_70'
  9. 24 Sep, 2011 1 commit
    • Jeffrey Lee's avatar
      Fix objasm 4 warnings. Allow math code to make use of CLZ. Fix potential crash. · 34ca22f5
      Jeffrey Lee authored
        s/Font_BasFP - Uses Hdr:CPU.Arch to decide whether to use CLZ in IFLT routine. Also fixed nasty crash on 32bit systems where FNRMB tail-calls IFLTA; 32bit versions of IFLT stack the LR, but FNRMB wasn't stacking it before jumping into the middle of the code.
        s/Fonts01 - Split up an LDM to avoid deprecated LDM {LR,PC} warning
        Tested on rev A2 BB-xM
      Version 3.69. Tagged as 'Manager-3_69'
  10. 23 Sep, 2011 1 commit
    • Jeffrey Lee's avatar
      Fix issues rendering Cyberbit font · 21614008
      Jeffrey Lee authored
        s/Fonts01 - Increase scratchsize from 8K to 12K. 8K was slightly too small for Cyberbit char 0x98f8.
        s/Fonts04 - Fix CachePixels to correctly return any errors generated by CacheChunk
        Tested on rev A2 BB-xM.
        Cyberbit char 0x98f8 now renders properly instead of returning a duff error pointer.
      Version 3.68. Tagged as 'Manager-3_68'
  11. 24 Jul, 2011 1 commit
    • Jeffrey Lee's avatar
      Fix null pointer access · a8f3d0b8
      Jeffrey Lee authored
        s/Fonts01 - hdr*_PixoPtr is optional, but SWIFont_CharBBox was loading from it without checking, causing random data to be read from zero page in some situations.
        Tested on rev C2 BB.
      Version 3.67. Tagged as 'Manager-3_67'
  12. 02 Jan, 2010 1 commit
    • Robert Sprowson's avatar
      Validate paths supplied to *FontInstall/Remove · 4243fd3b
      Robert Sprowson authored
      Paths supplied to *FontInstall/*FontRemove didn't actually have to be paths, and the directory scanner would attempt to recurse into the object supplied leading to lots of bogus error messages when using anything font related that attempted to recache the font list (eg. opening a font menu).
      Added check that for every element supplied must end in a dot.
      Trimmed unnecessary 'Version' file, using VersionASM directly.
      Updated messages file with new error message.
      Version 3.66. Tagged as 'Manager-3_66'
  13. 06 Nov, 2009 1 commit
    • Jeffrey Lee's avatar
      Make FontManager NoUnaligned-safe · 0e611ba6
      Jeffrey Lee authored
        Various bits of the font manager load character widths and heights from arrays of shorts. These bits of code now use the LDSHA macro where possible, to avoid exceptions when NoUnaligned is TRUE and alignment exceptions are turned on.
        Tested on rev C2 beagleboard.
      Version 3.65. Tagged as 'Manager-3_65'
  14. 06 Jul, 2009 1 commit
    • John-Mark Bell's avatar
      Stop Font_EnumerateCharacters skipping the first available character range. · 0ab08498
      John-Mark Bell authored
        The first call to Font_EnumerateCharacters will always fail to find an
        internal character code (as an external code of 0 has no mapping). On exit,
        the first available external character code should be placed in R1 ready
        for the next call.
        If the provided external code has no mapping, and a range was processed,
        then the next external code to enumerate is determined by selecting the
        lowest external code in the range after the one processed.
        In the case of the first call, this is wrong -- it should return the
        lowest external code in the range processed (i.e. the lowest external code
        in the first range available).
        Tested on RISC OS 4.02.
      Version 3.64. Tagged as 'Manager-3_64'
  15. 16 Jun, 2009 1 commit
    • Ben Avison's avatar
      Architecture-specific speedups · 0f599593
      Ben Avison authored
        Various new architecture features used to read signed and unsigned
        halfwords and 3-byte values from arbitrary alignments - used for parsing
        UTF-16 strings and embedded control sequences.
        * when targetting only ARMv4 or later, uses LDRSB, LDRH, LDRSH
        * when targetting only ARMv6 or later, uses unaligned LDR (unless the
          NoUaligned switch is set in Hdr:Machine.Machine)
        * when targetting only ARMv6T2 or later, uses SBFX (not currently
          supported by objasm, so uses DCI instead)
        Added ENTRY directive to permit building of GPA debug listing.
        Builds, but not tested.
      Version 3.63. Tagged as 'Manager-3_63'
  16. 11 Jun, 2009 1 commit
    • Ben Avison's avatar
      GET and #include file pathnames changed · 85b3d7f5
      Ben Avison authored
        Uses suffixed file extensions for compatiblity with both Norcroft and GCC.
        Supplied by Peter Naulls, tested at ROOL
      Version 3.62. Not tagged
  17. 14 May, 2009 1 commit
  18. 06 Jun, 2008 1 commit
    • Ben Avison's avatar
      Make FontManager softload on modern ROL OS versions. · ccdbc23d
      Ben Avison authored
        In recent ROL OS versions, the font cache dynamic area is managed
        entirely by the FontManager module -- the kernel no longer creates
        this dynamic area itself. This change prevented the UCS FontManager
        from loading, as it expected the font cache to already exist.
        The FontManager code has been modified to create the font cache DA
        itself if it detects that it does not exist. It will destroy the
        font cache DA on finalisation if it created the DA in the first place
        and it provides an appropriate dynamic area handler to process DA
        resize requests.
        So as to permit loading this version of the FontManager on all OS
        versions, the Font_ChangeArea SWI is still provided, the module
        initialisation code will do the right thing if it detects that the
        font cache DA already exists, and the finalisation code will only
        destroy the font cache DA if it was created by the initialisation
        Contributed by John-Mark Bell.
        Tested on an A9home with RO 4.42. This worked fine with the A9home's
        built-in ROM fonts. Additionally tested with a softloaded copy of the
        ROMFonts module from RO 5.11. This also performed as expected.
        Successfully tested UCS functionality using NetSurf with both language
        (Marugothic, Song) and symbol (TTF2f conversions of Cyberbit and others)
        Also successfully tested on RO 5.11, indicating no regression in
        Unsuccessfully tested on RO 4.02 under RPCEmu. A vanilla build of
        FM 3.60 also fails on this setup. In both cases, the DPI values listed
        by *FontList are 4294967205 (= (2^32-1) - 90), which implies that the
        DPI calculations have been broken at some point. A 26bit version of
        FM 3.54 does not exhibit this behaviour.
      Version 3.61. Tagged as 'Manager-3_61'
  19. 03 Aug, 2005 1 commit
    • Kevin Bracey's avatar
      Added support for supremacy blending in 32bpp modes only. If bit 14 is set in... · f06bd3a7
      Kevin Bracey authored
      Added support for supremacy blending in 32bpp modes only. If bit 14 is set in Font_Paint as well as bit 11 (for blending), then the blending takes into account the supremacy bits of the screen data when compositing. If not in a 32-bpp mode, then an error is returned.
      In addition, when bits 11 and 14 are set, the supremacy bits in the chosen
      foreground colour (set via ColourTrans_SetFontColours or similar) are used,
      so you can plot semi-transparent text. This is a limited facility - it's
      not available below 32bpp, and it doesn't work for text above FontMax2.
      Also, fixed a bug which meant that successive paints with different blending
      flags had to be separated by colour-setting calls to get the new flags to
      be obeyed.
      Note that, as in previous versions, the blending still doesn't correct for
      Version 3.60. Tagged as 'Manager-3_60'
  20. 04 Aug, 2004 1 commit
  21. 16 Feb, 2004 1 commit
  22. 13 May, 2003 1 commit
    • Robert Sprowson's avatar
      A signed pointer comparison was stopping postscript font matching from working... · 1f7c9e21
      Robert Sprowson authored
      A signed pointer comparison was stopping postscript font matching from working in some circumstances as it asked for the answer back on the stack which is now top bit set.Fixed.
      Also went through and tightened up all the signed comparisons as a number
      of other calls considered anything <= 0 to mean 0.The worst offender
      being "Font_ReadFontMetrics".
      A number of places assumed SWIs preserved flags,now don't.
      Optimised two places,an excess MOV and avoiding screen reads when the
      BIC mask is &FFFFFFFF.
      Version 3.57. Tagged as 'Manager-3_57'
  23. 31 Jan, 2003 1 commit
  24. 18 Dec, 2002 1 commit
  25. 12 Apr, 2002 1 commit
    • Kevin Bracey's avatar
      Fixes two bugs introduced in version 3.52: · c3bf4db3
      Kevin Bracey authored
      * Bounding box measurements were frequently incorrect.
      * Dependency flags were not processed reliably in cases where there were
        more than 32 chunks.
      Version 3.54. Tagged as 'Manager-3_54'
  26. 13 Mar, 2002 1 commit
  27. 22 Feb, 2002 1 commit
    • Kevin Bracey's avatar
      * Now handles new "/uXXXXX" identifiers in encoding files. · a5ba8f88
      Kevin Bracey authored
      * 32-bit scaffold table support added (see Doc.BigTables)
      * Occasional crash when font cache full fixed (bug introduced at same time
        as, but independently from, Unicode support).
      And in FontEd:
      * Nice new icon
      * 3D look-and-feel
      * Solid dragging
      * Big table support
      * Can now handle more than 15K of scaffolding
      * Packing and dependencies fixed - can now reliably load and save our
        Far Eastern fonts (and they load faster, because it doesn't try to
        "correct" the packing)
      * Width of font index display now adjustable
      * Font index grid now drawn correctly with large fonts
      * Font index bitmap generation accelerated
      Version 3.53. Tagged as 'Manager-3_53'
  28. 12 Nov, 2001 1 commit
  29. 10 May, 2001 1 commit
  30. 23 Mar, 2001 1 commit
  31. 21 Nov, 2000 1 commit
  32. 12 May, 2000 1 commit
  33. 22 Sep, 1999 1 commit
  34. 03 Aug, 1999 2 commits
  35. 01 Mar, 1999 1 commit
  36. 22 Feb, 1999 3 commits
  37. 18 Feb, 1999 1 commit