We claim:
1. In a computing system for handling freehand drawn lines and shapes, a method for improving the appearance of the hand drawn lines and shapes comprising:
comparing a source line segment of a source line against a straight line and detecting a deviation value indicating deviation between the source line segment and the straight line;
straightening the source line segment to a straight line if the deviation value is below a predetermined threshold value;
evaluating the source line segment as an angle segment, when the deviation value is below a predetermined threshold value, by detecting whether the source line segment can be defined as an angle segment with two straight line segments and defining the line segment as an angle segment having two straight line segments intersecting at an angle if the source line segment can be defined with two straight line segments;
dividing the source line segment into new segments if the deviation value is not below the predetermined threshold value and the line segment can not be defined as an angle segment; and
repeating the acts of comparing, straightening, evaluating and dividing on the new segments until all segments of the source line have been straightened.
2. The method of claim 1 further comprising:
detecting if the source line closes on itself and thereby forms a shape;
improving the shape to a polyline shape if the source line closes on itself; and
improving the source line to a polyline if the source line does not close on itself.
3. The method of claim 2 further comprising:
comparing the polyline shape against reference shapes and improving the polyline shape to a reference shape most similar to the polyline shape.
4. The method of claim 1 wherein the act of detecting comprises:
finding a point of intersection between a first source line segment and a second source line segment making up the angle segment;
comparing the first source line segment to a straight line to determine if its deviation is below the predetermined threshold; and
comparing the second source line segment to a straight line to determine if its deviation is below the predetermined threshold.
5. The method of claim 4 wherein the act of defining comprises:
straightening the first line segment to a straight line and the second line segment to a straight line intersecting at the point of intersection if both the first and second source line segments have a deviation from a straight line below the predetermined threshold.
6. The method of claim 5 further comprising:
combining line segments and angle segments to form a polyline; and
detecting if the polyline line closes on itself and thereby forms a polyline shape.
7. The method of claim 6 further comprising:
comparing the polyline shape against basic reference shapes and improving the polyline shape to a transformed shape transformed from a basic shape most similar to the polyline shape; and
adjusting the transformed shape to a specific shape identified from the basic shape.
8. A system for reshaping freehand drawn lines and shapes in a computing system having a display and a pointing device for drawing lines and shapes on the display, the system comprising:
a polyline recognition module analyzing freehand drawn lines and shapes and generating a polyline made up of sequential straight line segments when the polyline does not form a closed line and generating a polyline shape when the polyline forms a closed line;
a basic shape recognition module responsive to the polyline recognition module and selecting a basic shape from reference ideal shapes as the basic shape of the polyline shape; and
a shape adjustment module responsive to the basic shape recognition module and adjusting the basic shape to provide a specific shape as an improved polyline shape.
9. The system of claim 8 wherein said polyline recognition module comprises:
a straight line compare module comparing segments of a source line to a straight line and defining a segment as a line segment if the difference between the source line and the straight line is below a predetermined value;
an evaluate module analyzing segment pairs as an angle segment and defining a segment pair as an angle segment if both segments of the segment pair are within a predetermined deviation from a straight line; and
a combine module combining line segments from the straight line compare module and angle segments from the evaluate module to generate a polyline or polyline shape.
10. The system of claim 9 wherein the polyline recognition module further comprises:
a closed line detect module determining whether the combined line segments from the combine module form a polyline or a polyline shape.
11. The system of claim 8 wherein the basic shape recognition module comprises:
a transform module transforming the reference ideal shapes into transformed shapes relative to the polyline shape;
a comparison module matching each transformed shape to the polyline shape and storing a similarity value for each transformed shape indicating similarity between the polyline shape and the transformed shape;
a selection module selecting the transformed shape with the highest similarity value as the basic shape of the polyline shape.
12. The system of claim 11 wherein said shape adjustment module comprises:
a test module identifying a specific shape from the basic shape.
13. The system of claim 11 wherein said shape adjustment module comprises:
angle adjustment module changing angles of segments in the basic shape to standard angles for a specific shape,
line segment adjustment module adjusting the parallelism of line segments and line segments relative to a horizontal and vertical grid line.
14. Apparatus for improving the appearance of freehand drawn lines and shapes displayed in an electronic document, said apparatus comprising:
means for recognizing freehand drawn lines and shapes and generating a line made up of sequential straight line segments for the freehand drawn line when the line does not form a closed line and generating a multiple straight-line-segment shape when the line forms a closed line;
means responsive to the multiple straight-line-segment shape for selecting a basic shape from reference ideal shapes as the basic shape of the freehand drawn shape; and
means responsive to the basic shape for adjusting the basic shape to provide a specific shape as an improved shape for the freehand drawn shape.
15. The apparatus of claim 14 wherein said means for recognizing comprises:
means for comparing segments of a source freehand drawn line to a straight line and defining a segment as a straight line segment if the deviation between the segment of source line and the straight line is below a predetermined value;
means for evaluating sequential source segments of a source freehand drawn line as an angle segment and defining a segment pair of sequential straight line segments as an angle segment if both source segments of the segment pair are within a predetermined deviation value from a straight line; and
means for serially combining straight line segments and angle segments to form a multiple segment line or a multiple segment shape.
16. The system of claim 15 wherein said means for selecting comprises:
means for transforming the reference ideal shapes into transformed shapes similar to the multiple segment shape;
means for matching each transformed shape to the multiple segment shape and storing a similarity value for each transformed shape indicating similarity between the multiple segment shape and the transformed shape;
a selection module selecting the transformed shape with the highest similarity value as the basic shape of the freehand drawn shape.
17. The system of claim 16 wherein said means for adjusting comprises:
means for identifying a specific shape from the basic shape.
18. The system of claim 16 wherein said means for adjusting comprises:
means for changing angles of segments in the basic shape to standard angles for a specific shape.
means for set line segments parallel to each other or to one of a horizontal and vertical grid line.
19. A computer program product readable by a computing system and encoding a computer program of instructions for executing a computer process for improving the appearance of freehand drawn lines and shapes, said computer process comprising:
recognizing freehand drawn lines and shapes and generating a line made up of sequential straight line segments for the freehand drawn line when the line does not form a closed line and generating a multiple straight-line-segment shape when the line forms a closed line;
selecting a basic shape from reference ideal shapes as the basic shape of the multiple segment shape; and
adjusting the basic shape to provide a specific shape as an improved shape for the freehand drawn shape.
20. The computer program product of claim 19 wherein said act of recognizing comprises:
comparing source segments of a source freehand drawn line to a straight line and substituting a straight line segment for a source segment if the deviation between the source segment and the straight line is below a predetermined value;
evaluating sequential source segments of a source freehand drawn line as an angle segment and defining a segment pair of sequential source line segments as an angle segment having two straight line segments intersecting at a common end point if both source segments of the segment pair are within a predetermined deviation value from a straight line; and
combining straight line segments and angle segments to form a multiple segment line or a multiple segment shape.
21. The computer program product of claim 20 wherein said act of selecting comprises:
transforming the reference ideal shapes into transformed shapes similar to the multiple segment shape;
matching each transformed shape to the multiple segment shape and storing a similarity value for each transformed shape indicating similarity between the multiple segment shape and the transformed shape; and
selecting the transformed shape with the highest similarity value as the basic shape of the freehand drawn shape.
22. The program product of claim 21 wherein said act of adjusting comprises:
identifying a specific shape from the basic shape.
23. The program product of claim 21 wherein said act of adjusting comprises:
changing angles between line segments in the basic shape to standard angles for a specific shape;
setting line segments parallel to each other or to one of a horizontal and vertical grid line.
The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.
1. A device comprising:
a semiconductor substrate;
gate electrodes on the semiconductor substrate; spacers on each side of each gate electrode; and platinum-containing nickel silicide on the substrate adjacent each spacer, wherein the device is at least 99% free from platinum residues.
2. The device according to claim 1, further comprising nitride stress layers on and between the gate electrodes.
3. The device according to claim 1, wherein the platinum-containing nickel silicide is formed by:
sputter depositing a layer of nickel (Ni)platinum (Pt) from a NiPt target on the substrate;
performing a first RTA;
wet stripping unreacted Ni;
performing a second RTA;
stripping unreacted Pt from the annealed NiPt layer;
treating the Pt stripped NiPt layer with an oxygen plasma;
cleaning the NiPt layer with an SPMAPM clean; and
stripping unreacted Pt from the cleaned NiPt layer.
4. The device according to claim 3, wherein the unreacted Pt is stripped by applying Aqua Regia.
5. The device according to claim 4, wherein the spacers are etched and shaped concurrently with treating the NiPt layer with the oxygen plasma.
6. The device according to claim 5, wherein the NiPt layer is treated with the oxygen plasma at a temperature less than 400\xb0 C.
7. The device according to claim 6, wherein the NiPt layer is treated with the oxygen plasma at a pressure of 350 mTorr to 8000 mTorr.
8. The device according to claim 6, wherein unreacted Ni is wet stripped with a sulfuric acid-hydrogen peroxide mixture (SPM) at a temperature between 90\xb0 C. and 180\xb0 C.
9. The device according to claim 1, wherein the gate electrodes comprise high K metal gate electrodes.
10. A device comprising:
a semiconductor substrate;
high K metal gate electrodes on the semiconductor substrate;
spacers on each side of each gate electrode;
platinum-containing nickel silicide on the substrate adjacent each spacer; and
nitride stress liners on the gate electrodes and on the platinum-containing nickel silicide,
wherein the device is at least 99% free from platinum residues and wherein the platinum-containing nickel silicide is formed by:
sputter depositing a layer of nickel (Ni)platinum (Pt) from a NiPt target on the substrate;
performing a first rapid thermal anneal (RTA);
wet stripping unreacted Ni;
performing a second RTA;
stripping unreacted Pt from the annealed NiPt layer;
treating the Pt stripped NiPt layer with an oxygen plasma;
cleaning the NiPt layer with an SPMAPM clean; and
stripping unreacted Pt from the cleaned NiPt layer.
11. The device according to claim 10, wherein the unreacted Pt is stripped by applying Aqua Regia.
12. The device according to claim 11, wherein the spacers are etched and shaped concurrently with treating the NiPt layer with the oxygen plasma.
13. The device according to claim 12, wherein the NiPt layer is treated with the oxygen plasma at a temperature less than 400\xb0 C.
14. The device according to claim 13, wherein the NiPt layer is treated with the oxygen plasma at a pressure of 350 mTorr to 8000 mTorr.
15. The device according to claim 13, wherein unreacted Ni is wet stripped with a sulfuric acid-hydrogen peroxide mixture (SPM) at a temperature between 90\xb0 C. and 180\xb0 C.
16. A device comprising:
a plurality of semiconductor wafers;
at least one gate electrode on each semiconductor wafer;
platinum-containing nickel silicide on opposite sides of each gate electrode;
spacers separating the platinum-containing nickel silicide and each gate electrode; and
nitride stress liners on the gate electrodes and on the platinum-containing nickel silicide,
wherein the device is at least 99% free from platinum-containing residues.
17. The device according to claim 16, wherein the gate electrodes comprise high K metal gate electrodes.
18. The device according to claim 16, wherein the platinum-containing nickel silicide is formed by:
sputter depositing a layer of nickel (Ni)platinum (Pt) from a NiPt target on each semiconductor wafer;
performing a first RTA;
wet stripping unreacted Ni;
performing a second RTA;
stripping unreacted Pt from the annealed NiPt layer;
treating the Pt stripped NiPt layer with an oxygen plasma;
cleaning the NiPt layer with an SPMAPM clean; and
stripping unreacted Pt from the cleaned NiPt layer.
19. The device according to claim 18, wherein:
the unreacted Pt is stripped by applying Aqua Regia; and
unreacted Ni is wet stripped with a sulfuric acid-hydrogen peroxide mixture (SPM) at a temperature between 90\xb0 C. and 180\xb0 C.
20. The device according to claim 19, wherein:
the NiPt layer is treated with the oxygen plasma at a temperature less than 400\xb0 C. and at a pressure of 350 mTorr to 8000 mTorr; and
the spacers are etched and shaped concurrently with treating the NiPt layer with the oxygen plasma.