1460950634-5824503a-fb4e-41d3-a0dc-5b7639d41e43

1. A method of intelligently loading legacy option ROMs in a computing system, the method comprising:
generating, by a legacy option ROM manager, an inventory for the computing system, wherein the inventory for the computing system identifies one or more devices in the computing system;
determining, by the legacy option ROM manager for each option ROM available for loading, whether a device supported by the option ROM is included in the inventory for the computing system;
responsive to determining that the device supported by the option ROM is not included in the inventory for the computing system, preventing, by the legacy option ROM manager, the option ROM from being loaded into an option ROM address space; and
responsive to determining that the device supported by the option ROM is included in the inventory for the computing system, enabling, by the legacy option ROM manager, the option ROM to be loaded into the option ROM address space.
2. The method of claim 1 further comprising determining, by the legacy option ROM manager, whether a combined size of all option ROMs to be loaded into the option ROM address space exceeds a size of the option ROM address space.
3. The method of claim 2 further comprising, responsive to determining that the combined size of all option ROMs to be loaded into the option ROM address space exceeds the size of the option ROM address space, preventing, by the legacy option ROM manager, one or more of the option ROMs to be loaded into the option ROM address space from being loaded into the option ROM address space in dependence upon user input.
4. The method of claim 2 further comprising, responsive to determining that the combined size of all option ROMs to be loaded into the option ROM address space exceeds the size of the option ROM address space, preventing, by the legacy option ROM manager, one or more of the option ROMs to be loaded into the option ROM address space from being loaded into the option ROM address space in dependence upon a predefined removal policy.
5. The method of claim 1 wherein the inventory for the computing system includes one or more memory devices.
6. The method of claim 1 wherein the inventory for the computing system includes one or more network interface devices that are actively connected to a data communications network.
7. An apparatus for intelligently loading legacy option ROMs in a computing system, the apparatus comprising a computer processor, a computer memory operatively coupled to the computer processor, the computer memory having disposed within it computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the steps of:
generating, by a legacy option ROM manager, an inventory for the computing system, wherein the inventory for the computing system identifies one or more devices in the computing system;
determining, by the legacy option ROM manager for each option ROM available for loading, whether a device supported by the option ROM is included in the inventory for the computing system;
responsive to determining that the device supported by the option ROM is not included in the inventory for the computing system, preventing, by the legacy option ROM manager, the option ROM from being loaded into an option ROM address space; and
responsive to determining that the device supported by the option ROM is included in the inventory for the computing system, enabling, by the legacy option ROM manager, the option ROM to be loaded into the option ROM address space.
8. The apparatus of claim 7 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of determining, by the legacy option ROM manager, whether a combined size of all option ROMs to be loaded into the option ROM address space exceeds a size of the option ROM address space.
9. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of responsive to determining that the combined size of all option ROMs to be loaded into the option ROM address space exceeds the size of the option ROM address space, preventing, by the legacy option ROM manager, one or more of the option ROMs to be loaded into the option ROM address space from being loaded into the option ROM address space in dependence upon user input.
10. The apparatus of claim 8 further comprising computer program instructions that, when executed by the computer processor, cause the apparatus to carry out the step of responsive to determining that the combined size of all option ROMs to be loaded into the option ROM address space exceeds the size of the option ROM address space, preventing, by the legacy option ROM manager, one or more of the option ROMs to be loaded into the option ROM address space from being loaded into the option ROM address space in dependence upon a predefined removal policy.
11. The apparatus of claim 7 wherein the inventory for the computing system includes one or more memory devices.
12. The apparatus of claim 7 wherein the inventory for the computing system includes one or more network interface devices that are actively connected to a data communications network.
13. A computer program product for intelligently loading legacy option ROMs in a computing system, the computer program product disposed upon a computer readable medium, the computer program product comprising computer program instructions that, when executed, cause a computer to carry out the steps of:
generating, by a legacy option ROM manager, an inventory for the computing system, wherein the inventory for the computing system identifies one or more devices in the computing system;
determining, by the legacy option ROM manager for each option ROM available for loading, whether a device supported by the option ROM is included in the inventory for the computing system;
responsive to determining that the device supported by the option ROM is not included in the inventory for the computing system, preventing, by the legacy option ROM manager, the option ROM from being loaded into an option ROM address space; and
responsive to determining that the device supported by the option ROM is included in the inventory for the computing system, enabling, by the legacy option ROM manager, the option ROM to be loaded into the option ROM address space.
14. The computer program product of claim 13 further comprising computer program instructions that, when executed, cause the computer to carry out the step of determining, by the legacy option ROM manager, whether a combined size of all option ROMs to be loaded into the option ROM address space exceeds a size of the option ROM address space.
15. The computer program product of claim 14 further comprising computer program instructions that, when executed, cause the computer to carry out the step of, responsive to determining that the combined size of all option ROMs to be loaded into the option ROM address space exceeds the size of the option ROM address space, preventing, by the legacy option ROM manager, one or more of the option ROMs to be loaded into the option ROM address space from being loaded into the option ROM address space in dependence upon user input.
16. The computer program product of claim 14 further comprising computer program instructions that, when executed, cause the computer to carry out the step of, responsive to determining that the combined size of all option ROMs to be loaded into the option ROM address space exceeds the size of the option ROM address space, preventing, by the legacy option ROM manager, one or more of the option ROMs to be loaded into the option ROM address space from being loaded into the option ROM address space in dependence upon a predefined removal policy.
17. The computer program product of claim 13 wherein the inventory for the computing system includes one or more memory devices.
18. The computer program product of claim 13 wherein the inventory for the computing system includes one or more network interface devices that are actively connected to a data communications network.
19. The computer program product of claim 13 wherein the computer readable medium comprises a signal medium.
20. The computer program product of claim 13 wherein the computer readable medium comprises a storage medium.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

What is claimed is:

1. A computer-implemented method for coordinating grid tracking and character composition, comprising:
receiving a grid defining a layout of one or more lines of grid boxes, each grid box being operable to accommodate one full-width character and having a global track amount specified in an absolute unit;
populating one or more of the grid boxes with characters and associated spaces; and
tracking the characters and their associated spaces in the one or more lines of grid boxes by an amount determined for each of the characters or spaces as a function of the global track amount and a proportion of an em for the respective character or space.
2. The method of claim 1, wherein:
each grid box is square shaped and has dimensions corresponding to one by one em unit.
3. The method of claim 1, wherein tracking comprises:
adjusting the width of the one or more glyphs in the grid to a desired spacing amount; and
separately adjusting a width on a trailing edge of each of the one or more glyphs and a space associated with each of the one or more glyphs by a fraction of the global track amount after adjusting the width of the one or more glyphs in the grid to a desired spacing amount.
4. The method of claim 3; wherein adjusting the width comprises:
reducing the width of one or more glyphs to match a standard; and
adding spacing to increase the width of one or more glyphs based on a context for the one or more glyphs in the one or more lines of characters.
5. The method of claim 3, further comprising:
receiving user input specifying the desired spacing amount associated with one or more glyphs based on a context for the one or more glyphs in the one or more lines of characters.
6. The method of claim 1, wherein tracking comprises:
setting a global absolute tracking amount for the grid;
calculating a proportion of an em width of the glyph’s font for one or more glyphs and one or more mojikumi aki spaces; and
adjusting the spacing as a function of global absolute tracking amount for the one or more glyphs and one or more mojikumi aki spaces associated with the glyphs based on their respective proportion of an em width of the glyph’s font.
7. The method of claim 1, wherein tracking comprises:
setting a global absolute tracking amount for the grid;
calculating a proportion of an em width of the glyph’s font for one or more glyphs and one or more mojikumi aki spaces; and
adjusting the spacing by moving only the glyphs by an amount that includes a tracking amount for a mojikumi aki space.
8. The method of claim 6, wherein tracking comprises:
calculating a mojikumi tsume space for a glyph;
subtracting the mojikumi tsume space from the glyph’s original width to obtain a resulting glyph width;
calculating a first proportion corresponding to the resulting glyph width relative to an em unit;
calculating a mojikumi aki space for a pair of adjacent characters containing the glyph and an adjacent glyph;
calculating a second proportion corresponding to the resulting mojikumi aki space width relative to an em unit;
adjusting a position for the glyph in the line of characters by an amount obtained by
multiplying the global tracking amount and the second proportion,
subtracting the result of the multiplication from the mojikumi aki space; and

adjusting the resulting glyph width by an amount obtained by
multiplying the global tracking amount and the first proportion.
9. The method of claim 1, wherein tracking comprises:
setting a global absolute tracking amount for the grid;
calculating a spacing correction amount as a function of the absolute global tracking amount; and
applying the calculated spacing correction amount to one or more characters and their associated spaces.
10. The method of claim 9, wherein applying comprises:
adding the calculated spacing correction amount to both the leading edge and the trailing edge of one or more glyphs representing the characters.
11. The method of claim 9, wherein applying comprises:
deleting the calculated spacing correction amount from both the leading edge and the trailing edge of one or more glyphs representing the characters.
12. The method of claim 9, wherein applying comprises:
adding the calculated spacing correction amount to a mojikumi aki space.
13. The method of claim 9, wherein applying comprises:
deleting the calculated spacing correction amount from a mojikumi aki space.
14. The method of claim 9, wherein calculating a spacing correction amount comprises:
for a character, calculating the spacing correction as the global grid tracking amount multiplied by half the ratio of the character glyph width and the grid box width; and
for a space, calculating the spacing correction as the global grid tracking amount multiplied by the ratio of the space width and the grid box width
15. The method of claim 1, wherein receiving a grid comprises:
receiving a grid defining one or more horizontal lines of characters.
16. The method of claim 1, wherein receiving a grid comprises:
receiving a grid defining one or more vertical lines of characters.
17. The method of claim 1, wherein receiving a grid comprises:
receiving a Chinese-Japanese-Korean grid.
18. The method of claim 1, wherein:
tracking is not applied to characters in a Roman font.
19. A computer program product, tangibly stored on a computer-readable medium, for coordinating grid tracking and mojikumi spacing, comprising instructions operable to cause a programmable processor to:
receive a grid defining a layout of one or more lines of grid boxes, each grid box being operable to accommodate one full-width character and having a global track amount specified in an absolute unit;
populate one or more of the grid boxes with characters and associated spaces; and
track the characters and their associated spaces in the one or more lines of grid boxes by an amount determined for each of the characters or spaces as a function of the global track amount and a proportion of an em for the respective character or space.
20. The computer program product of claim 18, wherein:
each grid box is square shaped and has dimensions corresponding to one by one em unit.
21. The computer program product of claim 18, wherein the instructions to track comprise instructions to:
adjust the width of the one or more glyphs in the grid to a desired spacing amount; and
separately adjust a width on a trailing edge of each of the one or more glyphs and a space associated with each of the one or more glyphs by a fraction of the global track amount after adjusting the width of the one or more glyphs in the grid to a desired spacing amount.
22. The computer program product of claim 20, wherein the instructions to adjust the width comprise instructions to:
reduce the width of one or more glyphs to match a standard; and
add spacing to increase the width of one or more glyphs based on a context for the one or more glyphs in the one or more lines of characters.
23. The computer program product of claim 20, further comprising instructions to:
receive user input specifying the desired spacing amount associated with one or more glyphs based on a context for the one or more glyphs in the one or more lines of characters.
24. The computer program product of claim 18, wherein the instructions to track comprise instructions to:
set a global absolute tracking amount for the grid;
calculate a proportion of an em width of the glyph’s font for one or more glyphs and one or more mojikumi aki spaces; and
adjust the spacing as a function of global absolute tracking amount for the one or more glyphs and one or more mojikumi aki spaces associated with the glyphs based on their respective proportion of an em width of the glyph’s font.
25. The computer program product of claim 18, wherein the instructions to track comprise instructions to:
set a global absolute tracking amount for the grid;
calculate a proportion of an em width of the glyph’s font for one or more glyphs and one or more mojikumi aki spaces; and
adjust the spacing by moving only the glyphs by an amount that includes a tracking amount for a mojikumi aki space.
26. The computer program product of claim 24, wherein instructions to track comprise instructions to:
calculate a mojikumi tsume space for a glyph;
subtract the mojikumi tsume space from the glyph’s original width to obtain a resulting glyph width;
calculate a first proportion corresponding to the resulting glyph width relative to an em unit;
calculate a mojikumi aki space for a pair of adjacent characters containing the glyph and an adjacent glyph;
calculate a second proportion corresponding to the resulting mojikumi aki space width relative to an em unit;
adjust a position for the glyph in the line of characters by an amount obtained by
multiplying the global tracking amount and the second proportion,
subtracting the result of the multiplication from the mojikumi aki space; and

adjust the resulting glyph width by an amount obtained by
multiplying the global tracking amount and the first proportion.
27. The computer program product of claim 18, wherein the instructions to track comprise instructions to:
set a global absolute tracking amount for the grid;
calculate a spacing correction amount as a function of the absolute global tracking amount; and
apply the calculated spacing correction amount to one or more characters and their associated spaces.
28. The computer program product of claim 27, wherein the instructions to apply comprise instructions to:
add the calculated spacing correction amount to both the leading edge and the trailing edge of one or more glyphs representing the characters.
29. The computer program product of claim 27, wherein the instructions to apply comprise instructions to:
delete the calculated spacing correction amount from both the leading edge and the trailing edge of one or more glyphs representing the characters.
30. The computer program product of claim 27, wherein the instructions to apply comprise instructions to:
add the calculated spacing correction amount to a mojikumi aki space.
31. The computer program product of claim 27, wherein the instructions to apply comprise instructions to:
delete the calculated spacing correction amount from a mojikumi aki space.
32. The computer program product of claim 27, wherein the instructions to calculate a spacing correction amount comprise instructions to:
for a character, calculate the spacing correction as the global grid tracking amount multiplied by half the ratio of the character glyph width and the grid box width; and
for a space, calculate the spacing correction as the global grid tracking amount multiplied by the ratio of the space width and the grid box width
33. The computer program product of claim 18, wherein the instructions to receive a grid comprise instructions to:
receive a grid defining one or more horizontal lines of characters.
34. The computer program product of claim 18, wherein the instructions to receive a grid comprise instructions to:
receive a grid defining one or more vertical lines of characters.
35. The computer program product of claim 18, wherein the instructions to receive a grid comprise instructions to:
receive a Chinese-Japanese-Korean grid.
36. The computer program product of claim 18, wherein the instructions to track comprise instructions to:
apply no tracking to characters in a Roman font.